Iphone 基本窗口程序的屏幕旋转赢得';行不通
我使用“基于窗口的应用程序”模板创建了一个非常基本的iPad应用程序。不幸的是,当我旋转模拟器时,提供的视图不会旋转 此外,当我将视图控制器和/或UINavigationController添加到基本窗口时,它们也不会旋转。我已经实现了Iphone 基本窗口程序的屏幕旋转赢得';行不通,iphone,ios,xcode,ipad,Iphone,Ios,Xcode,Ipad,我使用“基于窗口的应用程序”模板创建了一个非常基本的iPad应用程序。不幸的是,当我旋转模拟器时,提供的视图不会旋转 此外,当我将视图控制器和/或UINavigationController添加到基本窗口时,它们也不会旋转。我已经实现了 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; } 在我添加的视图控制器中。。。但仍然看
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
在我添加的视图控制器中。。。但仍然看不到任何旋转
我遗漏了什么吗?要协调自动旋转,应用程序的窗口将查找由视图控制器管理的最顶层子视图。该窗口在此视图控制器上调用
shouldAutorotateToInterfaceOrientation:
,并按照指示转换视图控制器的视图
这就是为什么基于窗口的应用程序不会自动旋转。默认模板未附带已为您设置的视图控制器。要利用自动旋转,您必须创建自定义的UIViewController
子类,根据需要编辑其shouldAutorotateToInterfaceOrientation:
方法,并将该视图控制器的视图添加为窗口的直接子视图(或者将视图控制器添加到容器中,如UINavigationController
,并将该容器视图控制器的视图添加为窗口的子视图)。这通常在应用程序:didfishlaunchingwithoptions:
中完成
您声明“当我将视图控制器和/或UINavigationController添加到基本窗口时,它们也不会旋转,”而且您已经实现了应该自动旋转PointerFaceOrientation:
,并且它仍然不会旋转。如果您正确配置了所有内容,这应该可以工作。您可能在这个过程中犯了一些小错误,但我无法在不查看项目的情况下确定它是什么。下面是一些需要检查的内容:
应用程序:didFinishLaunchingWithOptions:
中添加其子视图视图
出口这些都是不确定的。希望这个答案中的某些东西能帮助您找到错误。如果没有,请尝试创建一个基于视图的应用程序,并将其默认配置与基于窗口的应用程序进行比较。也许您的错误会跳出来。要协调自动旋转,您的应用程序的窗口会查找它的目标p—由视图控制器管理的大多数子视图。该窗口在此视图控制器上调用
shouldAutorotateToInterfaceOrientation:
,并按指示转换视图控制器的视图
这就是为什么基于窗口的应用程序不会开箱即用地自动旋转。默认模板中没有为您设置的视图控制器。若要利用自动旋转,您必须创建自定义的UIViewController
子类,编辑其shouldAutorotateToInterfaceOrientation:
方法(视情况而定),然后将该视图控制器的视图添加为窗口的直接子视图(或将视图控制器添加到容器中,如UINavigationController
,并将该容器视图控制器的视图添加为窗口的子视图)。这通常在应用程序:didFinishLaunchingWithOptions:
中完成
您声明“当我将视图控制器和/或UINavigationController添加到基本窗口时,它们也不会旋转,”而且您已经实现了应该自动旋转PointerFaceOrientation:
,并且它仍然不会旋转。如果您正确配置了所有内容,这应该可以工作。您可能在这个过程中犯了一些小错误,但我无法在不查看项目的情况下确定它是什么。下面是一些需要检查的内容:
应用程序:didFinishLaunchingWithOptions:
中添加其子视图视图
出口这些都是在黑暗中拍摄的照片。希望此答案中的某些内容能帮助您找到错误。如果没有,请尝试创建基于视图的应用程序,并将其默认配置与基于窗口的应用程序进行比较。也许您的错误会跳出来。您是否记得在目标中设置支持所有旋转?是否您的设备旋转锁定?您的意思是您已经对视图控制器而不是视图实现了
shouldAutorotateToInterfaceOrientation:
,对吗?@cduhn更正,很抱歉在原始帖子中使用了误导性的措辞。我用适当的方法添加了一个ViewController。@Shivan这在模拟器中发生。您记得在支持所有旋转的目标?设备旋转是否已锁定?您的意思是您已对视图控制器实现了shouldAutorotateToInterfaceOrientation:
,否