有没有办法以编程方式启用或禁用返回键UIKeyboard
?我能找到的最接近的是enablesReturnKeyAutomatically
,但这只会告诉我是否要禁用它.
可能是以下代码段帮助.
textfield.enablesReturnKeyAutomatically = YES;
这在UITextInputTraits的iPhone SDK中公开可用.使用此选项时,如果文本字段中没有可用的输入文本,则将禁用返回键
UITextField
的enablesReturnKeyAutomatically
属性可以直接在Interface Builder进行设置,只需选择文本字段,打开属性检查器.正如Tharindu所说,这将根据是否输入任何文本自动启用和禁用返回键.
当然,如果你需要在代码中更改它,你仍然可以使用编程方式设置它nameTextField.enablesReturnKeyAutomatically = true
.
编辑以解决downvotes:
否则,没有正式的方法来启用和禁用命令返回键.我建议不要尝试使用私有API来实现这一目标.或者,您可以使用textFieldShouldReturn:
委托方法并将条件/验证放在那里并做出相应的响应.
如果您可以获得UIKeyboard对象本身(SDK中未公开的内容,请注意,如果您使用这些调用,Apple可能会不高兴),那么有一个方便的setReturnKeyEnabled:成员函数.
id keyboard = [self magicallyGetAUIKeyboardInstance]; [keyboard setReturnKeyEnabled: NO];
(通过Erica Sadun转储 2.2 iPhone框架)
实施magicallyGetAUIKeyboardInstance
描述这里.
你可以覆盖UITextField
's hasText
属性来实现这个目的:
class CustomTextField : UITextField { override public var hasText: Bool { get { return evaluateString(text) } } }
凡evaluateString(_ text: String?) -> Bool
对您的需要输入标准的检查,例如字符数.
当然,这只能与enablesReturnKeyAutomatically = true
套装相结合UITextField
.
我知道我的答案既不及时,也不是用Objective-C编写的,但鉴于我无法在其他任何地方找到答案而这个问题在其他主题中经常提到,我认为这里是最好的地方.发表它.