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

Ric*_*nop 17 iphone xcode objective-c ios

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

但是,我的活动指示器视图仅覆盖表视图内部,它看起来像这样:

在此输入图像描述

如何让它覆盖整个屏幕?包括导航控制器和表格视图工具栏.

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

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];
Run Code Online (Sandbox Code Playgroud)

Cod*_*aFi 22

更改

[self.tableView addSubview:self.overlayView];
Run Code Online (Sandbox Code Playgroud)

[self.navigationController.view addSubview:self.overlayView];
Run Code Online (Sandbox Code Playgroud)

相应地设置叠加层的矩形.

  • +1因为这也将正确旋转(shabzco的解决方案不会). (2认同)

sha*_*irv 6

做这个:

[[UIApplication sharedApplication].keyWindow addSubview:self.overlayView];
Run Code Online (Sandbox Code Playgroud)