【问题标题】:Change UITextField behavior更改 UITextField 行为
【发布时间】:2023-03-18 15:02:01
【问题描述】:

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

【问题讨论】:

  • 您可能需要查看UITextFieldDelegate 方法。

标签: iphone objective-c uikit uitextfield


【解决方案1】:

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

如果您不担心返回键实际上是启用,您可以使用textFieldShouldReturn:,这也是文本字段委托方法之一。

【讨论】:

    【解决方案2】:

    我会做类似以下的事情

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-28
      • 1970-01-01
      • 2011-10-24
      • 2015-01-15
      • 1970-01-01
      相关资源
      最近更新 更多