【发布时间】:2012-01-22 12:20:04
【问题描述】:
我正在尝试制作一个类似于 UISearchDisplayController 中的调光视图,它捕获点击手势以取消搜索。
我在调试器中发现 UISearchDisplayController 只是添加了一个私有 dimmingView,它是 UIControl 的一个实例作为 searchContentsViewController,并且调光捕获所有触摸事件,即使 UIButton 位于 searchContentsViewController 实际上在 dimmingView 下。
在我的演示代码(iOS SDK 5.0 中的测试)中,我将@interface DimmingView:UIControl 子类化。 如果我只是在调光视图下单击按钮的边界,按钮捕获事件和调光视图什么都不会捕获,即使我已经覆盖了 touchesBegan、sendAction。 .. 方法。如果点击点超出按钮边界,我的调光视图会捕获事件,而按钮和调光视图的超级视图什么也不会捕获。
那么 UISearchDisplayController 的调光视图是如何实现防止underviews, event button, get touch event的呢?
【问题讨论】:
-
您无需将标题更新为“已修复”,接受的答案就是这样做的。更改标题只会使问题列表变得混乱,并无缘无故地将问题推到首页。