有没有办法在iOS中禁用键盘的搜索或回车按钮?
当我的UISearchBar
中的文本太短而无法执行搜索时,我想禁用这些按钮。
然而,正如SK9肯定已经注意到的那样,您无法指定何时应启用和禁用此功能。// 默认值为NO(当为YES时,将自动禁用返回键当 文本小部件长度为零,并在文本小部件具有非零长度内容时自动启用)
我找不到任何名为UISearchView的类 - 你是不是指的UISearchBar?如果是这样,请继续阅读...
您无法通过编程方式禁用(灰掉)按钮。在UISearchBarDelegate
上实现searchBar:shouldChangeTextInRange:replacementText:
方法,以检查替换文本@"\n"(即返回键按下),并且如果他们输入了足够的文本以允许搜索,则什么也不做。
如果您真的想禁用返回键,则可以构建自己的键盘视图(没有框架键盘可继承以获得现有功能),并从UITextView
的inputView属性中返回它(这意味着还要构建自己的搜索视图)。
有一个非常简单的解决方案,无需UI hack,也不需要访问Apple私有API等。只需在viewDidLoad中添加以下内容即可。
yourSearchBar.enablesReturnKeyAutomatically = true
如果您正在使用uitextfield,则将enablesReturnKeyAutomatically设置为YES。这对我很有效。
textField.enablesReturnKeyAutomatically = YES / NO
UISearchView
的类,并覆盖文本属性,除非字符数> 3(或其他),否则返回'nil'。理论上,这应该导致“完成”键被禁用。或者,创建自己的UISearchView
,它不继承自UISearchBar
,您肯定可以使用该hack来禁用自定义UISearchView
中的UITextField
中的键盘。 - RyanR