質問

UINavigationControllerにあるビューを回転させる方法が少しわかりません。

UINavigationControllerオブジェクトをオーバーライドする独自のものでオーバーライドしました:

  
      
  • (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {return YES; }
  •   

コントローラーのスタックに1つのビューがあり、そのビューは2つのビューを持つxibからロードされます。ポートレートからランドスケープに切り替えたいです。通常、ビュー自体のnibファイル内からビューを変更することでこれを処理します。 Navigation Controllerまたはビューコード内に回転コードを実装する必要がありますか?

  
      
  • (void)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation                                                                                               duration:(NSTimeInterval)duration
  •   

そのwillAnimateコードは、ビュー自体で使用するのに慣れているものですが、ビューが変更されているのをまだ見ていません。それを変更するか、Navigation Controllerで同じメソッドをオーバーライドし、そこでビューを切り替えます。

提案はありますか?これまで実際にこれをやったことがなく、TabViewControllersとNavigationControllersが両方ともデフォルトでのみポートレートモードであることがわかりました。

役に立ちましたか?

解決

Navigation ControllerのRootViewを変更しようとしたため、ビューを変更できなかったことが判明しました。これを回避するには、Navigationスタックのルートスポットに表示されない独自の擬似ルートビューコントローラーを配置します。これを説明するためにいくつかのナビゲーションコントロールを無効にして、機能が同じようになり、必要に応じて希望のルートビューを変更できるようにします。

正しい方向へのスタートはこのリンクで見つけることができます:

http://starterstep.wordpress.com/2009/03 / 05 / inuing-a-uinavigationcontroller ’ s-root-view-controller /

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top