Iphone 如何使我的活动指示器视图覆盖所有屏幕?

Iphone 如何使我的活动指示器视图覆盖所有屏幕?,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,因此,当用户单击我的应用程序中的按钮时,我想创建一个带有活动指示器的新视图,并用它覆盖整个屏幕,直到按钮操作完成 但是,“我的活动指示器”视图仅覆盖表视图的内部,它看起来如下所示: 如何使其覆盖整个屏幕?包括导航控制器和表视图工具栏 以下是我用来创建视图的代码: self.overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.overlayView.backgroundColor = [U

因此,当用户单击我的应用程序中的按钮时,我想创建一个带有活动指示器的新视图,并用它覆盖整个屏幕,直到按钮操作完成

但是,“我的活动指示器”视图仅覆盖表视图的内部,它看起来如下所示:

如何使其覆盖整个屏幕?包括导航控制器和表视图工具栏

以下是我用来创建视图的代码:

self.overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.overlayView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
self.activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
self.activityIndicator.center = self.overlayView.center;
[self.overlayView addSubview:self.activityIndicator];
[self.activityIndicator startAnimating];
[self.tableView addSubview:self.overlayView];
改变

相应地设置覆盖的rect。

执行以下操作:

[[UIApplication sharedApplication].keyWindow addSubview:self.overlayView];

+1因为这也会正确旋转(沙布斯科的解决方案不会)。@CodaFi谢谢,它起作用了。但我如何才能删除视图?现在当我执行[self.activityIndicator removeFromSuperview];[self.overlayView removeFromSuperview];它不起作用。我添加了一个标签覆盖视图:overlayView.tag=1;然后使用标记标识覆盖以将其删除:[[self.navigationController.view viewWithTag:1]removeFromSuperview];
[self.navigationController.view addSubview:self.overlayView];
[[UIApplication sharedApplication].keyWindow addSubview:self.overlayView];