我试图做一个模糊的视图,就像在UISearchDisplayController中一样,它捕获点击手势来取消搜索。
我在调试器中发现,UISearchDisplayController只是添加了一个私有dimmingView,它是UIControl作为searchContentsViewController的一个实例,而调暗捕捉所有触摸事件甚至UIButton都在dimmingView.下的searchContentsViewController实际上。
在我的演示代码中(在iOS SDK5.0中进行测试),我将子类为@:UIControl。如果我只点击按钮的边界下的调光视图,按钮捕捉事件和调光视图没有捕获任何,即使我已经重写了touchesBegan,sendAction,.方法。如果单击点超出了按钮的界限,那么我的调光视图会捕获事件,而按钮和调光视图的超级视图则不会捕获任何事件。
:那么UISearchDisplayController的调暗视图是如何接近防止下视图、事件按钮、获取触摸事件的效果的呢?
发布于 2011-12-17 07:07:21
您的调光视图需要启用用户交互-
dimmingView.userInteractionEnabled = YES;并且通常是一个点击手势识别器,当它被点击时,它会被拾取。
这将捕捉从它下面的任何东西的接触。如果在调光视图的顶部添加更多的子视图,那么它们将是可触摸的。
https://stackoverflow.com/questions/8543215
复制相似问题