私のアプリは、3 つの子 vc を持つ UITabBarController ベースのアプリです。ステータス バーがビュー コントローラーと重なっています。SOで見つけたすべてを試しました:
これをAppDelegateに追加しようとしました:
//ステータス バーのスペースを確保するために下方にオフセットします self.window.bounds = CGRectMake(0, -20, self.window.frame.size.width, self.window.frame.size.height);
UITabBarController 全体を 20 下に移動したため、機能しました。
だから私は、各タブの UIViewControllers に効果を適用したいだけだと思っています。
そこで、viewDidLoad に同様のコードを追加して、その後 setNeedsDisplay を呼び出してみました。
self.view.bounds = CGRectMake(0, -20, self.view.frame.size.width, self.view.frame.size.height);
しかし、これはまったく効果がなく、まだ重複しています。
これをviewDidLoadに追加してみました
self.edgesForExtendedLayout = UIRectEdgeNone;
また、Extend Edges Under Top Bars のチェックを外しましたが、それでもステータス バーに表示されます。また試しました:
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
{
self.edgesForExtendedLayout = UIRectEdgeNone;
}
しかし葉巻はありません。
ALを使用しているため、デルタはありません。
ステータスバーには開/閉時間が表示されるため、ステータスバーを非表示にしたくないので、ユーザーは時間を確認できると便利です。
ビューを必要とする各ビューコントローラーでビューを少し下に移動することが最良のオプションだと考えていますが、なぜ私のコードが #2 で機能しなかったのでしょうか?
(ところで:コード形式が機能せず、番号付けがオフになっている理由がわかりません。編集しようとしても、編集ビューでは正常に機能しているようですが、プレビューまたはライブビューでは機能していないようです)