私の問題は簡単です:
- UITabBar と 4 つの UITabBarItems を持つビューがあり、4 つの異なるサブビュー (4 つの異なる UIView クラス) が表示されます。
- 最初の 3 つのビューをポートレートにし、最後のビューをランドスケープまたはポートレートにしたいと考えています。
そのために、私はセットアップしました
-(BOOL)shouldAutorotateToInterfaceOrientation(UIInterfaceOrientation)interfaceOrientation{ if (myTabBar.selectedItem.tag==4){ return YES; } else { return ((interfaceOrientation==UIInterfaceOrientationPortrait)|(interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown)); } }
...4 番目のビューで画面を回転すると、問題なく動作します。
しかし...:
- 4 番目のビューが横向きのときに、最初の 3 つの UITabBarItems のいずれかをクリックすると、正しいビューに移動しますが、向きは横向きのままで、縦向きに切り替わりません。
注 : 最初の 3 つのビュー クラスのそれぞれに -(BOOL)shouldAutorotateToInterfaceOrientation.... を含めましたが、何も変わりませんでした。
言い換えれば、私の問題は、デバイスが回転したときではなく、デバイスを回転した後にビューの向きが更新され、別の UITabBarItem をクリックすることです。
ご協力いただきありがとうございます。