首页 > 代码库 > ios 手动控制开启、禁止屏幕旋转

ios 手动控制开启、禁止屏幕旋转

    最近在公司做iPad开发,跟大多数的iPhone应用不一样,iPad程序要求支持横竖屏,但有时候有的页面不需要屏幕旋转,上网搜了很多资料发现都是不可行或者不符合需求的。首先,直接在UIViewController重写父类以下几个方法,发现是不执行的。

- (BOOL)shouldAutorotate;- (NSUInteger)supportedInterfaceOrientations;- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation;

 最好,找到了解决,首先新建一个UINavigatetion的分类,然后重写里面的方法

-(BOOL)shouldAutorotate {//是否支持自动旋转    return [[self.viewControllers lastObject] shouldAutorotate];}-(NSUInteger)supportedInterfaceOrientations {//设备支持的方向    return [[self.viewControllers lastObject] supportedInterfaceOrientations];}- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {//方向标识    return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];}

  然后,在你的UIViewController里面实现上面几个方法,就可以随心所以控制屏幕的方向问题啦。

ios 手动控制开启、禁止屏幕旋转