0

アプリに問題があります。特定のビューでロック回転をしたいのですが。そのために、2つのカスタムviewControllerを含むrootviewcontrollerを使用します。2つのビューコントローラーでshouldAutorotateToInterfaceOrientationメソッドをオーバーライドしようとしましたが、rootViewControllerですべての回転を許可すると、すべてのビューコントローラーがルートビューコントローラーのように回転できるため、理由がわかりません。

実際に私はこの構成を使用します:

RootviewController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    //By default, i allow all rotation
   return YES
}

FirstCustomviewController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    //On my first viewController, I allow only orientation in portrait
   return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

しかし、すべての場合において、それはすべての回転を許可します(私はそれがrootviewcontrollerから来ていると思います)そしてなぜ私はこのメソッドをオーバーライドできないのですか?そのために何ができますか?

ありがとう

4

1 に答える 1

1

RootViewControllerとFirstCustomViewControllerの関係は、正確にプッシュビューまたはモーダルビューですか?リレーションがプッシュビューの場合、すべてのサブビューの回転はルートビューに依存します。

UINavigationControllerを家、UIViewControllersを部屋と考えてください。家の中のすべての部屋は家と同じように回転します。家や他の部屋を回さずに部屋を回す方法はありません。

于 2012-08-01T13:46:11.380 に答える