0

私は午前中ずっとこれを修正しようとしてきましたが、役に立ちませんでした。これが私の状況です:

アプリの 2 つのビューにまたがるナビゲーション コントローラーがあります。最初のビューは、縦向きから回転してはなりません。2 番目のビューは、縦向きと横向きの間で回転する必要があります。最初のビューに戻ると、ポートレートに戻ります。

これが私が現在持っているコードです(私は成功せずに実験したので、決して堅実ではありません):

AppDelegate:

- (NSUInteger)application:(UIApplication*)application
supportedInterfaceOrientationsForWindow:(UIWindow*)window
{
    return UIInterfaceOrientationMaskAll;
}

ナビゲーション コントローラ:

- (BOOL)shouldAutorotate
{
    return self.topViewController.shouldAutorotate;
}

最初のView Controller:

-(BOOL)shouldAutorotate
{
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

2 番目のビュー コントローラー:

-(BOOL)shouldAutorotate
{
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAllButUpsideDown;
}

現在の動作では、アプリは最初の VC では縦向きのままで、2 番目の VC では適切に回転しますが、横向きの状態で戻ると、最初の VC は横向きになり、そこにとどまります。どうすればこれを修正できますか?

4

1 に答える 1

-1

私は同じ問題を抱えていましたが、覚えている限り、自動回転の仕組みが原因で修正できません。ただし、回避策を思いつきました。横向きモードの場合、ナビゲーションバーを非表示にして、戻るボタンをタップするオプションを無効にしました。これはうまくいくかもしれないし、うまくいかないかもしれませんが、より良い解決策を思いついたら、ぜひ聞いてください.

于 2013-03-25T13:25:39.257 に答える