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

时间:2012-04-14 20:10:00

标签: iphone objective-c ios xcode

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

但是,我的活动指示器视图仅覆盖表视图内部,如下所示:

enter image description here

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

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

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];

2 个答案:

答案 0 :(得分:22)

更改

[self.tableView addSubview:self.overlayView];

[self.navigationController.view addSubview:self.overlayView];

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

答案 1 :(得分:6)

这样做:

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