ios - 禁用与 UIBarButtonItem 的用户交互

标签 ios cocoa-touch uiview uiviewcontroller uibarbuttonitem

当我的应用程序运行一个简短的动画时,我不希望用户能够点击任何东西。在我的 View Controller 中,我可以使用

    self.view.userInteractionEnabled = NO;

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

我不能只禁用按钮,因为这会产生分散注意力的视觉影响(按钮变灰)。

我如何才能短暂暂停与所有控件的交互?

最佳答案

使用-beginIgnoringInteractionEvents-endIgnoringInteractionEvents在您的 UIApplication 实例上.这正是 UINavigationController 之类的类。在动画推送到新 View Controller 时执行。获取您的 UIApplication 的特定实例, 使用 +sharedApplication UIApplication 上的方法类(class)。考虑这个例子。

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

关于ios - 禁用与 UIBarButtonItem 的用户交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974270/

相关文章:

ios - 方向更改后 UIView 消失

ios - 即使它显示 firebase 登录中发生错误,我的 swift 代码也会执行 segue

ios - 如何检查模态视图当前是否在我的 self.window.rootViewController 之上?

ios - 如何使 ipad 应用程序仅纵向?

ios - 为什么在 iOS 中使用 View 模型 (MVVM)?

ios - 有什么办法可以知道 NSData 对象包含哪个 Class 实例?

ios - UIViewController 方法 viewDidLoad/viewWillHappen - View 帧大小检测

swift - SpriteKit/UIKit - 如何将 UIView 的位置设置为 Node 的位置?

ios - iOS 7 中的 UIPickerView 按钮选择器问题

c# - 在 WCF 中创建有状态的客户端-服务器体系结构