当前位置:  开发笔记 > 编程语言 > 正文

如何在UITextField中禁用/启用返回键?

如何解决《如何在UITextField中禁用/启用返回键?》经验,为你挑选了4个好方法。

有没有办法以编程方式启用或禁用返回键UIKeyboard?我能找到的最接近的是enablesReturnKeyAutomatically,但这只会告诉我是否要禁用它.



1> Tharindu Mad..:

可能是以下代码段帮助.

textfield.enablesReturnKeyAutomatically = YES;

这在UITextInputTraits的iPhone SDK中公开可用.使用此选项时,如果文本字段中没有可用的输入文本,则将禁用返回键


可能听起来很傻,但是当我来到这里时,我想要这个答案.就像我想很多人一样,我盲目地点击google中出现的第一个链接,完全跳过了这个问题并阅读了前几个答案

2> Kyle Clegg..:

UITextFieldenablesReturnKeyAutomatically属性可以直接在Interface Builder进行设置,只需选择文本字段,打开属性检查器.正如Tharindu所说,这将根据是否输入任何文本自动启用和禁用返回键.

在此输入图像描述

当然,如果你需要在代码中更改它,你仍然可以使用编程方式设置它nameTextField.enablesReturnKeyAutomatically = true.

编辑以解决downvotes:

否则,没有正式的方法来启用和禁用命令返回键.我建议不要尝试使用私有API来实现这一目标.或者,您可以使用textFieldShouldReturn:委托方法并将条件/验证放在那里并做出相应的响应.



3> Elliot Kroo..:

如果您可以获得UIKeyboard对象本身(SDK中未公开的内容,请注意,如果您使用这些调用,Apple可能会不高兴),那么有一个方便的setReturnKeyEnabled:成员函数.

id keyboard = [self magicallyGetAUIKeyboardInstance];
[keyboard setReturnKeyEnabled: NO];

(通过Erica Sadun转储 2.2 iPhone框架)

实施magicallyGetAUIKeyboardInstance描述这里.


`enableReturnKeyAutomatically`不适用于数字键盘.
链接断开

4> 小智..:

你可以覆盖UITextField's hasText属性来实现这个目的:

class CustomTextField : UITextField {
    override public var hasText: Bool {
        get {
            return evaluateString(text)
        }
    }
}

evaluateString(_ text: String?) -> Bool对您的需要输入标准的检查,例如字符数.

当然,这只能与enablesReturnKeyAutomatically = true套装相结合UITextField.

我知道我的答案既不及时,也不是用Objective-C编写的,但鉴于我无法在其他任何地方找到答案而这个问题在其他主题中经常提到,我认为这里是最好的地方.发表它.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有