当点击视图时,UISearchBar有时会退出

时间:2019-10-22 19:22:35

标签: ios swift uisearchbar uigesturerecognizer

我的视图控制器设置如下:UISearchBar在屏幕顶部,键盘在底部,以及它们之间的其他视图:自定义UIViewUIViewUITableView 。当我点击UIButton内的表格视图单元格和UIView时,可以成功触发我的操作,同时使UISearchBar仍在屏幕上可见。但是,当我点击没有按钮的UIView时,这会触发searchBarShouldEndEditing,好像搜索栏失去了焦点。我想禁用此行为,只允许“取消”按钮和键盘的“完成”按钮触发UISearchBar关闭。

我认为这与冒泡效果有关,并尝试实施此修复程序:

extension UIViewController : UIGestureRecognizerDelegate{

    public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
        return touch.view == gestureRecognizer.view
    }
    @IBAction func didTap(_ gestureRecognizer : UITapGestureRecognizer ) {
        //
    }

但是这不能解决问题,UISearchBar仍然呼叫searchBarShouldEndEditing。当然,我可以向searchBarShouldEndEditing添加逻辑以返回false,但不确定这样做是否足够有效。

在点击UISearchBar之类的其他元素时,如何确保UIView保留在原位?

0 个答案:

没有答案