捕捉透明UIView的触摸

时间:2012-01-10 21:06:58

标签: ios uiview

我的应用程序有一系列自定义模式对话框视图。作为模态我需要阻止用户与对话框侧面的项目进行交互(例如,当出现暂停对话框时,我不希望用户能够触摸按钮来浏览应用程序)。为了使它们成为模态,我在每个对话视图后面都有一个透明的UIView“来捕获触摸。这样可以正常工作,除了有一个UIView动画可以淡化对话框,当它们淡出对话框视图时忽略了触摸。

据我所知,问题是如果UIView的alpha不等于1.0,那么它会忽略触摸。有没有办法让UIView使用某些alpha混合响应触摸?

2 个答案:

答案 0 :(得分:0)

如果要为对话框视图的alpha设置动画,并且希望对话框视图在动画期间支持交互,则需要在创建动画时使用UIViewAnimationOptionAllowUserInteraction选项。

答案 1 :(得分:0)

UIView不会忽略触摸,除非它的alpha为0.0,或者其'hidden'属性设置为YES。这两个设置都使UIView不可见。

我建议使用模态视图控制器 - 除非有某些原因你想要显示其他按钮。您可以为每个模态视图设置单独的视图控制器,而不是透明视图。然后,使用视图控制器的'presentModalViewController:animated:'方法来控制它。

请注意,模态视图控制器可以嵌套(可以调用另一个),因此您可以根据需要将多个链接在一起。