我觉得这对我来说应该是显而易见的,但由于某种原因,我无法弄清楚这一点。我有一个带导航栏,工具栏和主视图的导航界面。有时,用户会采取导致进度指示符出现在视图中间的操作。
当进度指示器(自定义UIView)在中间旋转时,我希望不允许任何触摸输入进入任何底层接口(主视图,导航栏,工具栏等)。但这似乎并不重要。
我已尝试(并且失败)创建一个简单的视图,其唯一的工作是吞下触摸输入并将其用作窗口子视图 - 没有骰子,它永远不会获得触摸事件(是的,它确实有userInteractionEnabled )。我试图把它作为一个透明的模态视图控制器,但那些似乎永远不透明。
思考?我错过了什么?
谢谢!
答案 0 :(得分:3)
您可以阻止应用程序接受与
的交互事件[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
然后再次开始参加活动
[[UIApplication sharedApplication] endIgnoringInteractionEvents];
但我会非常小心,因为它会阻止用户与您的应用程序进行交互。
建议另一条路线。您可以显示仅使用init方法创建的UIAlertView,以在其中间容纳进度指示器。如果使用init方法,则不会有用户与之交互的按钮。然后,当您完成任务时,您可以关闭警报视图。如果您想让用户取消操作,您甚至可以使用警报视图上的按钮取消操作。
答案 1 :(得分:1)
您可以使用windowLevel
>创建透明的UIWindow。 1。