我想知道为什么基于UITabBarController
的iPad项目在我指定某些选项卡应该在横向模式下自动旋转而另一个将在横向和纵向模式下自动旋转时不会自动旋转。
我用过
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
UIViewController
的并指定横向return YES;
其他明智return NO;
另一方面,如果UIViewController should rotate in landscape and portrait i've just
返回YES;`总是。
答案 0 :(得分:4)
对于您在tabbarcontroller中加载的所有UIViewController
,您必须在
True
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
注意: 标签栏控制器不会自动旋转,除非它包含的所有控制器也自动旋转。
来自Rotate one UIViewController in UITabBar application - >>
在横向模式下只有一个视图没有简单的方法,而其他视图在横向模式下,也不是编程切换到横向模式的简单方法。
一种可能的方法是使用CGAffineTransform在viewWillAppear中转换视图(即,在显示视图之前):
- (void)viewWillAppear:(BOOL)animated; {
//-- Adjust the status bar
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
//-- Rotate the view
CGAffineTransform toLandscape = CGAffineTransformMakeRotation(degreesToRadian(90));
toLandscape = CGAffineTransformTranslate(toLandscape, +90.0, +90.0 );
[self.view setTransform:toLandscape];
}