タブバービューコントローラで1つのビューのみを回転させない

私はこの質問が一種の尋ねられたことを知っています。他の人が投稿した解決策に目を通していますが、トピックではかなり混乱していると感じていますので、本当に「noob」の質問があれば謝ります。

だから、私はタブバーのビューコントローラを持っていて、私はオートローテーションすべき2つのビューと決してないべきビューを持っています。私の理解では、shouldAutorotateToInterfaceOrientationは常にYESを返す必要があります。任意のビューコントローラが自動回転するようにします。だから、もしこれが当てはまるならば、私はどれだけ回転させずに注文を回転させておくのですか?

どうもありがとうございました!

P.S.私はここにある別の投稿から試しました:タブバーコントローラのビューコントローラが回転するのを防ぐにはどうすればいいですか?その投稿からの回答は以下に掲載されています

"これはよく報告されている"バグ "ですが、良い回避策はshouldAutorotateToInterfaceOrientation:セレクタを強制的に次のようにトリガすることです:

   - (void)viewDidAppear:(BOOL)animated {
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
UIView *view = [window.subviews objectAtIndex:0];
[view removeFromSuperview];
[window addSubview:view];
} 
0
早速のお返事ありがとうございます。私はshouldAutoRotateToInterfaceOrienationをYESに戻すように設定しました。しかし私も前に戻って設定していた(interfaceOrientation == UIInterfaceOrientationPortrait); <---それはどこにも回転をもたらさなかった。
追加された 著者 Teddy13,
これに私が関わるべき方法がありますか?ありがとう!
追加された 著者 Teddy13,
shouldAutorotateToInterfaceOrientation メソッドのコードを投稿してください。私たちはまずそれらをチェックします=)
追加された 著者 Nekto,
いいえ。奇妙な行動。
追加された 著者 Nekto,

1 答え

あなたが目指している動作は、 UITabBarController のローテーションルールと競合します。あなたはそれを自分で言いました:

shouldAutorotateToInterfaceOrientationニーズ   任意のビューコントローラが自動回転するように常にYESを返します。

しかし、あなたが望むのは、View Controllerの1つがそのルールに違反する NO を返すことです。だからあなたの質問に答えるには、独自のカスタムビューコントローラコンテナ(またはカスタムビュー)を実装する必要があります。

この制限が UITabBarController に追加されたのは正当な理由があります。回転ルールが異なるタブは、タブを変更するたびに画面が回転し続けるため、ユーザーにとって迷惑になります。

今私があなただったら、すべてのタブを回転させて、非回転ビューをモーダルビューとして表示します。

1
追加された
ありがとうございました!しかし、非回転ビューをモーダルビューとして表示するとどういう意味ですか?すごく新しい
追加された 著者 Teddy13,
モーダルビューは「ダイアログ」の概念に似ています。ここでいくつかの説明を確認してください。 developer.apple.com/ライブラリ/ iOS /#featuredarticles /&hellip;
追加された 著者 John Estropia,