请帮我关闭用户交互。我有一个自定义视图,它在视图层次结构的顶层显示了几秒钟。视图下方有几个按钮。问题是当用户点击视图时按钮会捕获触摸事件。我设置了 myCustomView.userInteractionEnabled = NO; 什么也没有发生。按钮通过视图捕捉事件都是一样的。如何创建一个不允许通过它拦截触摸的视图?
问问题
334 次
3 回答
0
您可以在按钮的公共超级视图上禁用用户交互:
someButton.superview.userInteractionEnabled = NO;
在某些覆盖 UI 位于顶部时禁用 UI 的另一种方法是将覆盖放在其自己的窗口中,而不是在现有视图的顶部。
于 2012-04-05T07:38:45.900 回答
0
如果myCustomView
位于视图层次结构的顶层,我想您正在尝试实现类似覆盖视图的东西,它半透明地覆盖其他视图。在这种情况下,设置userInteractionEnabled = NO
此视图将导致触摸事件被转发到下面的视图。
正确的方法是userInteractionEnabled = YES
在您的自定义视图上进行设置,然后创建一个透明按钮以将触摸重新路由到关闭 IBAction,或者忽略它。
于 2012-04-05T07:42:55.910 回答
0
采用:
[[UIApplication sharedApplication] beginIgnoringInteractionEvents]
用于忽略用户事件。几秒钟后,您的视图消失了,您可以使用:
[[UIApplication sharedApplication] endIgnoringInteractionEvents]
这样你就可以解决你的问题。
于 2012-04-05T07:45:21.123 回答