UIView ですべての画面をカバーするときに UIView で UIStatusBar もカバーするにはどうすればよいですか?
3620 次
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 に答える