嘿,我正在iPhone上开发类似于联系人应用程序的基于导航的应用程序。当您在搜索栏中输入内容并在表格中滚动(在“通讯录”应用中)时,键盘就会消失。我认为它不会使第一响应者辞职,因为当我尝试在-(void)scrollViewDidScroll:(UIScrollView *)scrollView中执行此操作时,它会禁用取消按钮,而这在通讯录应用程序中不会发生。基本上,我的问题是,如在通讯录应用中一样,如何在不禁用取消按钮的情况下关闭键盘?
谢谢
最佳答案
好吧,只是遇到了这个非常老的问题。
开始滚动时,可以启用“取消”按钮,如下所示:
func scrollViewWillBeginDragging(scrollView: UIScrollView) {
searchBar.resignFirstResponder()
let searchCancelButton = searchBar.valueForKey("cancelButton") as! UIButton
searchCancelButton.enabled = true // <-- THIS line is the trick
}
迅捷4
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
searchBar.resignFirstResponder()
let cancelButton = searchBar.value(forKey: "cancelButton") as! UIButton
cancelButton.isEnabled = true
}
关于iphone - 使用UISearchBar消除键盘,而无需退出第一响应者,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3006005/