2

ナビゲーションコントローラーでは、1つの画面でビデオを再生し、縦向きと横向きの両方で表示できます。完了すると、新しいビューコントローラーがナビゲーションコントローラーにプッシュされますが、縦向きでのみ表示したいと思います。

使ってみました

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];

セグエの前と後ですが、それは私にはうまくいきません。ステータスバーはありますが、ビューは横向きで描画されます。

これを修正する方法はありますか?

ありがとう!

[更新]どの回避策も機能しなくなったため、より良い解決策が見つかるまで、モーダルで提示することになりました。

答えてくれてありがとう!

4

3 に答える 3

0

回避策はどれもうまくいかなかったので、より良い解決策が見つかるまでモーダルに提示するだけになりました。

答えてくれてありがとう!

(元記事にも追記)

于 2012-07-31T20:34:21.440 に答える
0

私はあなたの質問に少し混乱していますが、私が正しく理解していれば、ビューが横向きに表示されないようにしたいと考えています。このメソッドをビュー コントローラーの実装ファイルに追加します。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

その特定のView Controllerは、縦向きでのみ実行されます。それはあなたが望んでいたものですか?

于 2012-07-14T03:13:22.000 に答える
0

2 年前に取り組んだプロジェクトで同じ問題が発生したことを覚えているので、この問題について調査しました。当時は、すべてのコントローラーで両方の向きをサポートすることで解決していました。

残念ながら、当時からあまり変わっていないようです。文書化された修正方法がなく、まだ未解決の問題のようです。しかし、私はあなたのために働くと思ういくつかの回避策を見つけました:

  1. モーダル ビュー コントローラーを表示および非表示にします。

    UIViewController *c = [[UIViewController alloc] init];
    [self presentModalViewController:c animated:NO];
    [self dismissModalViewControllerAnimated:NO];
    [c release];
    
  2. ビューを手動で回転します。

  3. 実際のビュー コントローラーをプッシュする前に、ビュー コントローラーをプッシュ アンド ポップします。

すべての方法が機能することが報告されていますが、私はそれらをテストしていません。ここでコードとその他のメソッドを見つけることができます: Is there a documented way to set the iPhone orientation?

于 2012-07-14T13:46:03.643 に答える