iOS:在用户点击时将字符串添加到字符串

时间:2018-06-05 16:23:48

标签: ios swift uitextfield

在我的Swift 4应用程序中,我希望在textField中添加一个特殊字符,同时用户点击textField中的第二个字符。

这就是我所做的:

 func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        if textField == self.specialTextField {
            if textField.text?.count == 2 {
                self.specialTextField.text! += "|"
            }
        }
        return true
    }

问题在于“|”我写第二个字符时不会直接添加,但与第三个字符串同时添加。

例如:我会写“abcd”。

虽然我点击“ab”但没有发生任何事情。只是当我点击“c”时,我得到“ab | c”。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以为UITextField UIControlEvent.editingChanged事件添加目标,以实现您的目标:

specialTextField.addTarget(self, action: #selector(editingChanged), for: .editingChanged)

并实现editingChanged选择器方法:

@objc func editingChanged(_ textField: UITextField) {
    // check the contents of your textField and insert the special characters as needed
    print(textField.text!)
}