更改UITextField行为

时间:2011-09-15 14:42:25

标签: iphone objective-c uikit uitextfield

如果输入区域不包含任何文本,禁用UITextField的“返回”键盘键的最佳方法是什么?将UITextField属性设置为YES的enablesReturnKeyAutomatically启用返回键,即使只输入了空格,但我希望它仅在文本不为空时启用返回键。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

我不知道您如何覆盖文本输入特征行为,但您可以使用文本字段委托方法textField:shouldChangeCharactersInRange:replacementString:来阻止用户将空格输入到其他空白字符串中。这样可以防止添加任何空白文本,因此不应启用返回键。

如果您对实际启用的返回键不感到烦恼,则可以再次使用textFieldShouldReturn:文本字段委托方法之一。

答案 1 :(得分:0)

我会做类似以下的事情

  1. 创建String的扩展并添加一个trim方法(它在其他场景中也会变得很方便,这就是我建议扩展的原因。

    public func trim() -> String {
      return  stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
    }
    
  2. 让您的班级成为UITextFieldDelegate的代表并添加以下功能

    func textFieldDidChange(textField: UITextField) {
      textField.text = textField.text.trim()
    }
    
  3. 将UITextField的委托设置为self。