Ios 当点击视图时,UISearchBar有时会辞职
我的视图控制器设置如下:Ios 当点击视图时,UISearchBar有时会辞职,ios,swift,uisearchbar,uigesturerecognizer,Ios,Swift,Uisearchbar,Uigesturerecognizer,我的视图控制器设置如下:UISearchBar位于屏幕顶部,键盘位于底部,以及它们之间的其他视图:自定义UIView,UIView,UITableView。当我点击表格视图单元格和ui按钮UIViews内的ui按钮时,我可以成功触发我的操作,同时保持ui搜索栏在屏幕上仍然可见。但当我点击没有按钮的UIViews时,这会触发searchbarshouldediting,就像搜索栏失去焦点一样。我想禁用此行为,只让“取消”按钮和键盘的“完成”按钮触发UISearchBar关闭 我认为这与冒泡效应有关
UISearchBar
位于屏幕顶部,键盘位于底部,以及它们之间的其他视图:自定义UIView
,UIView
,UITableView
。当我点击表格视图单元格和ui按钮UIView
s内的ui按钮时,我可以成功触发我的操作,同时保持ui搜索栏在屏幕上仍然可见。但当我点击没有按钮的UIView
s时,这会触发searchbarshouldediting
,就像搜索栏失去焦点一样。我想禁用此行为,只让“取消”按钮和键盘的“完成”按钮触发UISearchBar
关闭
我认为这与冒泡效应有关,并尝试实施此修复:
extension UIViewController : UIGestureRecognizerDelegate{
public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
return touch.view == gestureRecognizer.view
}
@IBAction func didTap(_ gestureRecognizer : UITapGestureRecognizer ) {
//
}
但这并没有解决这个问题,UISearchBar
仍然调用searchbarshouldenediting
。当然,我可以将逻辑添加到搜索栏shouldendediting
,以返回false
,但我不确定这是否足够有效
如何确保在点击其他元素(如UIView
s)时,UISearchBar
保持在原位?您将UITableView键盘关闭模式设置为什么?UITableView键盘关闭模式保持默认状态,即不关闭。您将UITableView键盘关闭模式设置为什么?UITableView键盘关闭模式保留默认值,即“不驳回”