禁用iOS键盘中的输入按钮

Posted

技术标签:

【中文标题】禁用iOS键盘中的输入按钮【英文标题】:Disabling enter button in iOS keyboard 【发布时间】:2014-11-09 09:32:07 【问题描述】:

我有一个 ios 键盘问题。

假设我们有一个 UITextField(我们称之为文本字段)和一个标准虚拟键盘,其中 Enter 键设置为发送。当 UITextField 为空时,我们希望禁用 Send 键,否则启用它。我们在文本字段中将 enableReturnKeyAutomatically 设置为 YES。当我们手动编辑文本字段中的文本时,这可以正常工作。

但是,当我们以编程方式更改文本时,发送键似乎无法正常工作。一旦按下发送键并发送文本,我们的应用程序将通过调用 textfield.text = @"" 来清除文本字段。在这种情况下,我们希望 Send 键被禁用,因为文本字段的内容是空的。但不——它似乎已启用。

我们想在这种情况下禁用发送键。如果可能,请分享您的经验。

谢谢!

【问题讨论】:

【参考方案1】:

我认为你能做的最好的就是以这种方式忽略返回事件:

- (BOOL) textFieldShouldReturn:(UITextField*) textField 
    return textField.text.length > 0;

【讨论】:

setReturnKeyEnabled 是公共方法吗?这个链接说它不是:***.com/questions/788323/…。如果不是,我们仍然更喜欢使用公共方法的解决方案。 但似乎不起作用。 “发送”按钮仍处于启用状态。 是的,我相信您没有机会仅使用 ios SDK 禁用它。

以上是关于禁用iOS键盘中的输入按钮的主要内容,如果未能解决你的问题,请参考以下文章

检查 iOS 8 的自定义键盘中的输入文本是不是为空

如何隐藏/禁用软键盘 android 上的完成按钮?

Xamarin / iOS - 如何从硬件键盘禁用选项卡键码

iOS 键盘扩展 - 向标准键盘添加按钮(系统范围的输入附件视图)

关于Android中的软键盘

在app中屏蔽第三方键盘