Xcode iphone定向支持某些视图

除了主视图控制器之外,我想支持所有视图的所有方向。 我似乎找不到办法做到这一点。

我可以支持所有视图的方向,也可以在整个应用中不支持任何视图。 您如何支持整个应用程序中某些视图的方向?

我还没有使用过需要按照您描述的方式行事的应用程序,但以下是Apple文档在您需要控制方向支持时建议的内容:

动态控制是否发生旋转

有时您可能想要动态禁用自动旋转。 例如,如果要在短时间内完全抑制旋转,可以执行此操作。 您必须暂时禁用要手动控制状态栏位置的方向更改(例如,当您调用setStatusBarOrientation:animated:方法时)。

>如果要暂时禁用自动旋转,请避免操作方向遮罩来执行此操作。 而是覆盖最顶层视图控制器上的shouldAutorotate方法。 在执行任何自动旋转之前调用此方法。 如果返回NO,则抑制旋转。

资料来源: http : //developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/RespondingtoDeviceOrientationChanges/RespondingtoDeviceOrientationChanges.html#//apple_ref/doc/uid/TP40007457-CH7-SW1

子类最顶层的控制器。 例如,你有一个导航控制器作为最顶层的控制器,那么你只需要子类UINavigationController并在子类的.m文件中编写以下代码行

 - (BOOL)shouldAutorotate { return [[self.viewControllers lastObject] shouldAutorotate]; } - (NSUInteger)supportedInterfaceOrientations { return [[self.viewControllers lastObject] supportedInterfaceOrientations]; } - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation]; } 

现在为项目中的每个控制器覆盖方法- (BOOL)shouldAutorotate 。 对于那些需要旋转的控制器,返回TRUE对于那些不需要旋转的控制器,返回FALSE

干杯!!!!!