2

UIView ですべての画面をカバーするときに UIView で UIStatusBar もカバーするにはどうすればよいですか?

4

4 に答える 4

6

私もこれをどうしようかずっと悩んでいました!最後にそれを理解しました:)重要なのは、新しいウィンドウのwindowLevelを非常に高く設定して、他のすべてのウィンドウ/ビュー/ステータスバーなどの上に表示されるようにすることです。

UIWindow *keyWin = [UIApplication sharedApplication].keyWindow;
UIWindow *hudWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0.0f, 0.0f, keyWin.frame.size.width, keyWin.frame.size.height)];
hudWindow.backgroundColor = [UIColor blackColor];
hudWindow.alpha = 0.60;
[hudWindow setWindowLevel:10000.0f];
[hudWindow setHidden:NO];

楽しみ!

于 2010-04-19T02:07:09.280 に答える
2

あなたができる最善のことは、ステータスバーを非表示にすることです:

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]

必要なときに再度表示します。

基本的にremoveFromSuperviewいつでもビューを削除できます。

于 2010-01-18T04:26:25.460 に答える
0

のような効果を作ろうとしているのならUIAlertView、これはできないと思います。http://bugreporter.apple.comで Apple に機能拡張リクエストを提出できます。

于 2010-01-17T11:01:16.423 に答える
0

いいですが、これら2つの変更を加えました。UIWindowLevel に 1.0 を追加してもステータス バーが非表示になり、その理由がわかりません。

self.windowLevel = UIWindowLevelStatusBar+2.0f;

self.userInteractionEnabled = NO;

Statusbar の userInteractionEnabled プロパティを NO に設定すると、誰かがこのステータスバーをタップしたときに、スクロール ビューが一番上までスクロールするようになります。

于 2010-08-25T01:22:25.340 に答える