我想只为一个UiViewController更改设备方向。我的第一个UiViewController的名字是VideoLaunch。我首先想要在这个UiViewController中使用Landscape。当我传递另一个uiviewcontroller时,我将名称为“is”的静态值更改为与nil不同。当我在调试模式下运行时,我看到
else返回UIInterfaceOrientationMaskPortrait
这条线路运行。但方向不会改变。
AppDelegate.m
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
if([VideoLaunch is] == nil)
return UIInterfaceOrientationMaskLandscape;
else return UIInterfaceOrientationMaskPortrait;
}
答案 0 :(得分:4)
您需要覆盖以下方法
- (BOOL)shouldAutoRotate
对于要允许旋转的那个,返回YES。
然后,还覆盖supportedDeviceOrientations并在那里指定您想要的内容。例如:
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
并确保在目标的常规设置中正确使用方向。