我的问题很简单:
- 我有一个带有 UITabBar 和 4 个 UITabBarItems 的视图,显示 4 个不同的子视图(4 个不同的 UIView 类)。
- 我希望前 3 个视图是纵向的,最后一个是横向或纵向的。
为此,我已经设置
-(BOOL)shouldAutorotateToInterfaceOrientation(UIInterfaceOrientation)interfaceOrientation{ if (myTabBar.selectedItem.tag==4){ return YES; } else { return ((interfaceOrientation==UIInterfaceOrientationPortrait)|(interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown)); } }
...如果我在第四个视图中旋转屏幕,效果很好。
但...:
- 如果,当我在第四个视图横向时,并且我单击前三个 UITabBarItems 中的任何一个,我将移动到正确的视图,但方向仍然是横向,并且不会切换到纵向
注意:我在三个第一个视图类中的每一个中都包含了 -(BOOL)shouldAutorotateToInterfaceOrientation...,但它并没有改变任何事情。
换句话说:我的问题是视图方向在旋转设备后更新,而不是在设备旋转时更新,我点击另一个 UITabBarItem。
谢谢你的帮助。