虽然我的应用程序运行了一个简短的动画,但我不希望用户能够点击任何内容。在我的视图控制器中,我可以使用
self.view.userInteractionEnabled = NO;
阻止大多数交互,但它不会阻止工具栏/导航栏中的按钮触发事件。
我不能只禁用按钮,因为这会产生令人分心的视觉冲击(按钮呈灰色显示)。
如何暂停与所有控件的交互?
答案 0 :(得分:12)
在-beginIgnoringInteractionEvents
的实例上使用-endIgnoringInteractionEvents
和UIApplication
。这正是像UINavigationController
这样的类在动画推送到新视图控制器时所做的事情。要获取UIApplication
的特定实例,请使用+sharedApplication
类上的UIApplication
方法。考虑这个例子。
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
[[UIApplication sharedApplication] endIgnoringInteractionEvents];