我刚刚添加了一个文本字段,允许用户在应用内输入收件人电子邮件地址,而不是在电子邮件视图中输入。
我想限制用户输入空格,以便他们无法输入无效的电子邮件地址。
这是我提出的代码,但在运行时它没有做任何事情:
func textFieldDidChange(textField: UITextField) {
var text = emailText.text.stringByReplacingOccurrencesOfString(" ", withString: "")
emailText.text = text
}
如何在用户输入时替换任何空白实例?
答案 0 :(得分:4)
您必须将该方法添加为文本字段事件的目标。在viewDidLoad
中,添加以下行:
yourTextField.addTarget(self,
action: "textFieldDidChange",
forControlEvents: .EditingChanged
)
或者,或许更好,您可以将视图控制器设置为文本字段的委托:
yourTextField.delegate = self
然后实现以下文本字段委托方法:
func textField(_ textField: UITextField!, shouldChangeCharactersInRange
range: NSRange, replacementString string: String!) -> Bool
如果替换字符串包含空格,请返回false
。
另外,考虑除了一个简单的空间之外还有空白字符。您可能想要检查NSCharacterSet.whitespaceCharacterSet()