使用横向模式在iPad中启动iPhone App

lu *_*uan 5 splash-screen orientation ipad ios

在项目摘要中,"支持的界面方向"全部被选中,因为我的应用程序中有一个照片库视图,可以随设备一起旋转.其他观点仅限于肖像.目标设备是iPhone,所有东西在iPhone中都表现良好.但是当它在我的iPad上运行横向模式时,启动和rootView如下:

飞溅景观: 在此输入图像描述

rootview景观: 在此输入图像描述

我期望看起来应该与iPad是纵向模式相同:

飞溅画像: 在此输入图像描述

rootview画像: 在此输入图像描述

rootView是MyNavigationController,一些相关的代码如下:

MyNavigationController.m

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
  return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

- (NSUInteger)supportedInterfaceOrientations {
  return UIInterfaceOrientationMaskPortrait;
}

- (BOOL)shouldAutorotate {
  return NO;
}
Run Code Online (Sandbox Code Playgroud)

ser*_*gio 9

请使用以下代码更正您的代码:

- (BOOL)shouldAutorotate {
   return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
   return UIInterfaceOrientationMaskPortrait;
}
Run Code Online (Sandbox Code Playgroud)

似乎有些奇怪返回YESshouldAutorotate.事实是,如果你确实返回了NO,那么supportedInterfaceOrientations根本不会被调用,你的项目设置就会统治.你也可以删除shouldAutorotate,它应该工作相同.

参考:

当用户更改设备方向时,系统会在根视图控制器或填充窗口的最顶层显示的视图控制器上调用此方法.如果视图控制器支持新方向,则窗口和视图控制器将旋转到新方向.仅当视图控制器的shouldAutorotate方法返回YES时才调用此方法.