禁用用户与UIBarButtonItem的交互

时间:2012-08-15 17:40:35

标签: ios cocoa-touch uiview uiviewcontroller uibarbuttonitem

虽然我的应用程序运行了一个简短的动画,但我不希望用户能够点击任何内容。在我的视图控制器中,我可以使用

    self.view.userInteractionEnabled = NO;

阻止大多数交互,但它不会阻止工具栏/导航栏中的按钮触发事件。

我不能只禁用按钮,因为这会产生令人分心的视觉冲击(按钮呈灰色显示)。

如何暂停与所有控件的交互?

1 个答案:

答案 0 :(得分:12)

-beginIgnoringInteractionEvents的实例上使用-endIgnoringInteractionEventsUIApplication。这正是像UINavigationController这样的类在动画推送到新视图控制器时所做的事情。要获取UIApplication的特定实例,请使用+sharedApplication类上的UIApplication方法。考虑这个例子。

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
[[UIApplication sharedApplication] endIgnoringInteractionEvents];