Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 更改UITextField行为_Iphone_Objective C_Uikit_Uitextfield - Fatal编程技术网

Iphone 更改UITextField行为

Iphone 更改UITextField行为,iphone,objective-c,uikit,uitextfield,Iphone,Objective C,Uikit,Uitextfield,如果输入区域不包含任何文本,禁用UITextField的“return”键盘键的最佳方法是什么UITextFieldwithenablesreturnkey automatically属性设置为YES时,即使只输入空格,也会启用返回键,但我希望它仅在文本不为空时启用返回键。有什么建议吗?我不知道如何重写文本输入特征行为,但可以使用文本字段委托方法textField:shouldChangeCharactersRange:replacementString:来防止用户在空白字符串中输入空格。这将阻

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

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


如果您不担心实际启用了return键,那么可以使用
textFieldShouldReturn:
,这也是文本字段委托方法之一

我会做如下事情

  • 创建一个字符串扩展并添加一个trim方法(它在其他情况下也会变得很方便),这就是我建议使用扩展的原因

    public func trim() -> String {
      return  stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
    }
    
  • 使您的类成为UITextFieldDelegate的委托,并添加以下功能

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


  • 您可能需要研究
    UITextFieldDelegate
    方法。