Objective c 如何在加载活动指示器时禁用iphone中的所有控件?

Objective c 如何在加载活动指示器时禁用iphone中的所有控件?,objective-c,Objective C,我在从web服务获取数据时显示activity indicator,我想在activity indicator加载时禁用所有控件,甚至是导航栏。我还设置了 [self.view setUserInteractionEnabled:NO]; [self.navigationController.navigationBar setUserInteractionEnabled:NO]; [searchingBar setUserInteractionEnabled:NO];

我在从web服务获取数据时显示activity indicator,我想在activity indicator加载时禁用所有控件,甚至是导航栏。我还设置了

   [self.view setUserInteractionEnabled:NO];
     [self.navigationController.navigationBar setUserInteractionEnabled:NO];
     [searchingBar setUserInteractionEnabled:NO];
但是它不能正常工作。。 任何人都知道如何在activityindicator加载时禁用所有控件


谢谢…

只需使用SVProgressHud,您可以在Cocoa控件或GitHub上找到它。

如果您不想使用任何API,请在活动指示器后面插入一个透明的全屏UIView。它会吃东西。

setUserInteractionEnabled:NO似乎是最好的解决方案,那么它到底有什么不正常的地方?为什么不?你知道,这并没有什么坏处。你可以随时研究SVProgressHud是如何制作的,它制作得非常好,基本上非常简单,它是一个覆盖UI窗口。它也可以应用于UINavigationBar?取决于你在哪里添加它。如果您在应用程序委托中执行此操作,并将透明UIView添加为根窗口的子视图UIWindow是UIView的子类,它将覆盖整个屏幕。这就是为什么我告诉你使用SVProgressHud,或者至少从中获得一些灵感;创建一个新的UIWindow并使其成为覆盖更容易。