iPhoneのUIStatusBarの非表示と表示を検出しようとしていますが、失敗しました。KVOや他の何かのように、私を助けることができる解決策はありますか?
2199 次
4 に答える
4
statusBarHidden
共有UIApplication
インスタンスのプロパティを確認できます。
簡単な例:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
// Do something here...
}
- (void)viewDidLoad
{
[super viewDidLoad];
[[UIApplication sharedApplication] addObserver:self forKeyPath:@"statusBarHidden" options:NSKeyValueObservingOptionNew context:NULL];
[[UIApplication sharedApplication] setStatusBarHidden:YES]; // Will notify the observer about the change
}
于 2012-10-11T04:23:52.740 に答える
1
iOS 11 以降では、View Controller の UIView をサブクラス化し、オーバーライドできますsafeAreaInsetsDidChange
。
override func safeAreaInsetsDidChange() {
super.safeAreaInsetsDidChange()
// adapt your view
}
これを機能させるには、ビューがステータス バーと上部の四角形を共有する必要があります。(しかし、そうでない場合は、とにかく変更を検出する必要はないでしょう)。
于 2018-11-14T17:26:48.900 に答える
0
UIApplicationクラスには、プロパティstatusBarHiddenがあります...これはステータスバーが非表示になっているかどうかを示します...それがYESを返す場合は、ステータスバーが非表示になっていることを意味します...これを試してください。
于 2012-10-11T04:23:42.337 に答える