UISearchBar 移动到屏幕顶部时未收到触摸

Posted

技术标签:

【中文标题】UISearchBar 移动到屏幕顶部时未收到触摸【英文标题】:UISearchBar not receiving touches when moved to top of screen 【发布时间】:2011-08-03 19:55:09 【问题描述】:

我有一个 UISearchBar 作为 UIViewController 视图的子视图。 UIViewController 有一个导航栏。当我触摸 UISearchBar 时,我会启动一个动画,将导航栏向上移出屏幕,并将搜索栏向上移动以代替导航栏。

当我这样做时,属于搜索栏的取消按钮不会向搜索栏的代理发送触摸事件。当我将搜索栏向上移动几个像素时,搜索栏取消按钮仍然有效。

关于我可能做错的任何建议?

【问题讨论】:

【参考方案1】:

如何获取触摸事件(UIGestureRecognizers?)?您确定 UISearchBar 不在任何其他视图后面(可能是透明背景)?这可能会导致您的触摸事件被发送到此覆盖视图。 也可能是您将 UISearchBar 移出其超级视图。通过给它的超级视图一些背景颜色来检查。

【讨论】:

搜索栏取消按钮上的触摸事件应该发送给搜索栏的代理。我似乎通过向上移动导航控制器的视图而不是直接移动导航栏和搜索栏来解决它。谢谢。

以上是关于UISearchBar 移动到屏幕顶部时未收到触摸的主要内容,如果未能解决你的问题,请参考以下文章

SWIFT:触摸屏幕时未调用 touchesEnded

在UITableView中滚动到UISearchBar的顶部

通过触摸移动按钮

当我点击它时,UISearchBar 会转到视图的顶部

触摸 UISearchbar 时如何修复偏移键盘

移动到 1/3 屏幕宽度时未调用 onConfigurationChanged