我想支持除主视图控制器以外的所有视图的所有方向。我似乎无法找到办法做到这一点。某些视图的Xcode iphone方向支持
我既可以支持所有视图的方向,也可以支持整个应用的视图。您如何支持整个应用程序中某些视图的方向?
我想支持除主视图控制器以外的所有视图的所有方向。我似乎无法找到办法做到这一点。某些视图的Xcode iphone方向支持
我既可以支持所有视图的方向,也可以支持整个应用的视图。您如何支持整个应用程序中某些视图的方向?
我还没有与需要采取行动,你描述方式的应用工作,但这里是当你需要控制方向支持苹果的文档表明什么:
动态控制是否发生旋转时
有时您可能想要动态禁用自动旋转。例如,对于 示例,如果要在短时间内完全禁止旋转 ,则可以执行此操作。您必须暂时禁用想要手动控制 状态栏位置的 方向更改(例如,当您调用 setStatusBarOrientation:animated:方法时)。
>如果您想要暂时禁用自动旋转,请避免使用 操纵方向遮罩来执行此操作。请改为在最顶端的视图控制器上覆盖shouldAutorotate方法 。在执行任何自动旋转之前调用此方法为 。如果它返回NO,那么将禁止旋转 。
子类中最顶层的控制器。 例如你有一个导航控制器作为最顶层控制器,那么你只需要 子UINavigationController
写下面的代码行中的子类
- (BOOL)shouldAutorotate
{
return [[self.viewControllers lastObject] shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations
{
return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];
}
现在的.m文件覆盖方法- (BOOL)shouldAutorotate
为每个您项目中的控制器。 返回TRUE
为那些你需要做旋转的控制器,并且为那些你不需要旋转的控制器返回FALSE
。
干杯!!!!!
你可以请提供一个这个实现的例子吗?我似乎无法弄清楚它。谢谢 – user984248
首先上面的一段代码将在5.0之后工作,从5.0 - (BOOL)shouldAutorotate已经到来。我可以向您发送我在应用程序中使用的导航控制器的帮助器子类。 – Mihir
好的。请发给我。 – user984248
是你的问题解决? – Rajneesh071
http://stackoverflow.com/questions/12630359/ios-6-how-do-i-restrict-some-views-to-portrait-and-allow-others-to-rotate/13194720#13194720 – Zaraki
不,我,我不知道如何继承最顶级的控制器。请指教。谢谢! – user984248