2013-11-23 4 views
9

背景:アプリケーションのみランドスケープで実行されているiPadアプリです。アプリケーションをXcode 5にアップグレードしてIOS7シミュレータで実行すると、画面の右側にあるボタンの一部が完全にアクティブではないことに気付きました。すなわち、ボタンの左側の一部のみがクリック可能であった。(IOS7の)UIViewControllerWrapperViewの向きを調整する方法は?

観察: IOS6とIOS7シミュレータで同じソースコードを実行し、REVEALツールを使用して、ビューの階層を表示し、IはUIViewControllerWrapperView(私のトップレベルのビューコントローラの親)の寸法が風景であることがわかりますIOS6(1024x768)では、しかし、IOS7ではポートレートです。

私は正しい寸法にUIViewControllerWrapperViewの枠を設定する方法を見つけようとしています。 View ControllerのviewDidLoadメソッドで、self.view.superviewへの参照を取得しようとしましたが、nilを返します。

誰でも説明できます。 a)UIViewControllerWrapperViewのフレームが、IOS7ではなくIOS6で実行されているとき、なぜ間違った方向にあるのか、さらに重要なのはb)正しい方法ですか?

答えて

7

あなたはUITabBarControllerを使用していますか?私たちは、正確同じ問題を抱えた、それはUITabBarControllerでこれを追加することにより、作業ました:

- (void)viewDidLayoutSubviews 
{ 
    // fix for iOS7 bug in UITabBarController 
    self.selectedViewController.view.superview.frame = self.view.bounds; 
} 

なぜ? check this answer

+0

これをありがとう。 iOS 7.0.1上にまだQAラボのiPadがありましたが、なんらかの理由で修正が必要だと感じました。 GAH! –

関連する問題