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
。
干杯!!!!!