17

そのため、ユーザーがアプリのボタンをクリックしたときに、アクティビティインジケーターを使用して新しいビューを作成し、ボタンのアクションが終了するまで画面全体をカバーしたいと思います。

ただし、私のアクティビティインジケータビューはテーブルビューの内部のみをカバーしています。次のようになります。

ここに画像の説明を入力してください

画面全体をカバーする方法は?ナビゲーションコントローラーとテーブルビューツールバーを含みます。

ビューを作成するために使用するコードは次のとおりです。

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

2 に答える 2

22

変化する

[self.tableView addSubview:self.overlayView];

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

それに応じてオーバーレイの四角形を設定します。

于 2012-04-14T20:19:47.730 に答える
6

これを行う:

[[UIApplication sharedApplication].keyWindow addSubview:self.overlayView];
于 2012-04-14T20:37:45.443 に答える