在项目摘要中,“支持的界面方向”全部被选中,因为我的应用程序中有一个照片库视图,可以随设备一起旋转 . 其他观点仅限于肖像 . 目标设备是iPhone,所有东西在iPhone中都表现良好 . 但是当它在我的iPad上运行横向模式时,启动和rootView如下:
飞溅景观:
rootview-landscape:
我期望看起来应该与iPad是纵向模式相同:
飞溅肖像:
rootview-portrait:
rootView是 MyNavigationController
,一些相关的代码如下:
MyNavigationController.m
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
- (BOOL)shouldAutorotate {
return NO;
}
3 回答
请使用以下代码更正您的代码:
从
shouldAutorotate
返回YES
似乎很奇怪 . 事实是,如果你确实返回NO
,那么根本不会调用supportedInterfaceOrientations
,你的项目设置就会统治 . 你也可以删除shouldAutorotate
,它应该工作相同 .Reference:
你的意思是通过显示风景启动屏幕,然后在应用程序仍然使用肖像模式?
据我所知,仅限iPhone的应用程序无法在横向模式下启动,这意味着为仅限iPhone的应用程序提供横向启动屏幕是没用的 .
检查"Providing Device-Specific Launch Images"部分的文档here .
我想你想要的是使状态栏也是肖像 . 遗憾的是,没有简单的方法 - 您可以将设备/界面方向设置为仅仅protrait,但它适用于整个应用程序 . 您需要自己处理所有视图的方向 . 因此,我建议您按照Hide status bar on launch image隐藏状态栏,并在两个方向使用相同的图像 . 它会使启动画面看起来更好 .