UISearchBar 在尝试 select UICollectionViewCell 时退出第一响应者
UISearchBar resigns first responder when trying to select UICollectionViewCell
我有一个UIViewController
作为共享抽屉,从屏幕底部向上滑动。
我在它下面有一个 UISearchBar
和 UICollectionView
,在搜索栏中输入可以毫无问题地更新集合视图。
当搜索栏处于活动状态时,我希望能够 select 集合视图中的单元格。但是,每当我点击搜索栏以外的任何内容时,键盘都会消失。我习惯于必须添加 UITapGestureRecognizer
或手动调用 searchBar.resignFirstResponder()
,但在这种情况下,我不知道如何不关闭键盘。
视图控制器上没有其他手势识别器。关于在键盘存在时允许(多个)selection 集合视图有什么想法吗?
取消隐藏键盘
self.view.endEditing(false)
你在找这个吗?
如
resignFirstResponder
您不能传递布尔值来隐藏或取消隐藏
我们也可以使用以下方法来做到这一点,方法是始终以编程方式向搜索栏添加取消按钮
func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
searchBar.showsCancelButton = true;
}
此外,应该通过删除搜索栏的 IBOutlet 来尝试:
self.yourSearchBar.endEditing(false)
注意:yourSearchBar 是在删除 IBOutlet 时提供的搜索栏的名称。
@nayem 的评论让我想到了 searchBarShouldEndEditing
委托方法。搜索栏确实会在 resigningFirstResponder
之前发送此消息,我可以 return false
。问题已解决。
我有一个UIViewController
作为共享抽屉,从屏幕底部向上滑动。
我在它下面有一个 UISearchBar
和 UICollectionView
,在搜索栏中输入可以毫无问题地更新集合视图。
当搜索栏处于活动状态时,我希望能够 select 集合视图中的单元格。但是,每当我点击搜索栏以外的任何内容时,键盘都会消失。我习惯于必须添加 UITapGestureRecognizer
或手动调用 searchBar.resignFirstResponder()
,但在这种情况下,我不知道如何不关闭键盘。
视图控制器上没有其他手势识别器。关于在键盘存在时允许(多个)selection 集合视图有什么想法吗?
取消隐藏键盘
self.view.endEditing(false)
你在找这个吗?
如
resignFirstResponder
您不能传递布尔值来隐藏或取消隐藏
我们也可以使用以下方法来做到这一点,方法是始终以编程方式向搜索栏添加取消按钮
func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
searchBar.showsCancelButton = true;
}
此外,应该通过删除搜索栏的 IBOutlet 来尝试:
self.yourSearchBar.endEditing(false)
注意:yourSearchBar 是在删除 IBOutlet 时提供的搜索栏的名称。
@nayem 的评论让我想到了 searchBarShouldEndEditing
委托方法。搜索栏确实会在 resigningFirstResponder
之前发送此消息,我可以 return false
。问题已解决。