以下の方法を使用して、ステータスバーの高さを取得しています。ただし、ビューの読み込み時に高さを取得する必要があるため、それに応じてテーブルビューの高さを調整できます。viewDidLoad でこのメソッドを使用すると、0 が返されます。
私は動作するviewDidAppearでそれを使用しようとしましたが、子ビューから(ナビゲーションコントローラーの一部として)ビューに戻ると、ビューに戻るたびに高さを取得して再度調整します。
では、ビューがロードされたときに高さを取得して、これらの問題に遭遇することなくこの調整を適用するにはどうすればよいでしょうか?
-(CGRect)statusBarFrameViewRect
{
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
CGRect statusBarWindowRect = [self.view.window convertRect:statusBarFrame fromWindow: nil];
CGRect statusBarViewRect = [self.view convertRect:statusBarWindowRect fromView: nil];
return statusBarViewRect;
}
ありがとう。