本文主要是介绍ipadnbsp;nbsp;ios6以上nbsp;屏幕旋转控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1,首先说一下,ios6之前的系统 ,旋转控制,
利用 shouldAutorotateToInterfaceOrientation: 来单独控制某个UIViewController的旋屏方向支持 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
2,但是再ios6 的系统上,上述方法被弃用了,取而代之的是以下2个方法,设置某个viewcontroller 的旋转
- (BOOL)shouldAutorotate{
if (self.preferredInterfaceOrientationForPresentation ==UIInterfaceOrientationMaskLandscapeLeft || self.preferredInterfaceOrientationForPresentation ==UIInterfaceOrientationMaskLandscapeRight) {//支持横屏
return YES;
}
return NO;//禁止旋转
}
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscape;
// return UIInterfaceOrientationMaskPortrait; //禁止旋转
}
除了这个2个方法之外,还要再把程序的所有viewcontroller的添加,用以下方法替代
// [window addSubview:testUserViewController_.view];替换为:
window.rootViewController =testUserViewController_;
3, 如果整体程序的viewcontroller 都不需要旋转,在appdelegate 中调用该方法
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
return UIInterfaceOrientationMaskPortrait;
}
4,所以在做系统版本适配的时候,应该把1,2中的方法同时使用,程序会在不同系统版本的情况下去调用相应的设置方法。
这篇关于ipadnbsp;nbsp;ios6以上nbsp;屏幕旋转控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!