ご挨拶!これがシナリオです。
ナビゲーション コントローラーから始めて (タブ バーは存在しません。以前のビュー コントローラーのプッシュでは非表示になっています)、新しいビュー コントローラーを初期化し、ナビゲーション コントローラー スタックにプッシュします。この新しい VC には、同じフレームを持つ UIScrollView をプログラムで追加する孤独なUIViewが含まれています。( UIViewを避けたかったのですが、これがself.viewを何かに割り当てる唯一の方法でした。 viewDidLoadでUIScrollViewをUIViewにキャストすることはお勧めできません。)
これで、ナビゲーション バーとスクロール ビューができました。いくつかの画像をスクロールするように設定しました (大きな驚きです!)、それは問題なく動作します。これでオートローテーションをサポートしたいと思います。したがって、私は VC で次のように応答します。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
コンパイルして実行します。ああ、そして...何もない。明らかに、私は何か悪いことをしました。
今、私はすでにUINavigationController と autorotationに関する投稿を読んでおり、これについて間違った方法で行っており、必要以上に複雑にしているというこっそりの疑いがあります。
自動回転をサポートするUIScrollViewを表示するには、もっと良い方法が必要です。ナビコントローラーが邪魔なのかもしれませんが、どうやって回避すればいいのかわかりません。
理想的には、ナビゲーション バーが一切表示されないものが欲しいです。代わりに、上部に表示/非表示になるツールバー/ステータス バーがあります (ビデオの再生時に表示されるように)。ナビゲーション バーをそのままにしておく必要がある場合、またはそれが本当に高さの低いナビゲーション バーである場合、ビデオとツールバーを再生するときに表示されますが、回転させることはできますか? 問題は、ピックスを表示するときに、この特定のモードでのみ回転させたいということです。他の時ではありません。
あえてモーダル VC を使用してみますか? (ええ、いや、それも正しくありません。さらに、とにかくナビゲーションバーがあります。)