IEverything は iOS 6 より前では正常に動作します。いつものようUIViewController
に a にサブクラスがありUINavigationController
ます。そのビューは、上に別のステータス バーがあるかのように、約 20 ピクセル縮小しています。ビューを押してポップすると。ビューは正しい位置に戻りました。UIViewControllerWrapperView
iOS 6 で( を使用して取得したself.view.superview
) フレームが何らかの理由で間違っていたことが原因であることがわかりました。
NSLog in の実行viewDidAppear
アプリ起動時...
self.view.frame: {{0, 0}, {768, 891}} // was {{0, 0}, {768, 911}} in iOS5.1
self.view.superview: <UIViewControllerWrapperView: 0x9dddb80; frame = (0 20; 768 891); autoresize = W+H; layer = <CALayer: 0x9dddc30>>
// was (0 0; 768 911); in iOS5.1
ビューコントローラーをプッシュアンドポップした後(正しい値)...
self.view.frame: {{0, 0}, {768, 911}}
self.view.superview: <UIViewControllerWrapperView: 0x9dddb80; frame = (0 0; 768 911); autoresize = W+H; layer = <CALayer: 0x9dddc30>>
それは前に決して起こりません。これは iOS 6 ではどのように表示されますか?