iOS单页面屏幕旋转控制

前提:app打开了支持横屏,想要某个页面锁定竖屏

1.如果是没有导航栏的页面,需要在viewController实现

// 是否支持自动转屏

- (BOOL)shouldAutorotate {

    return NO;

}

// 支持哪些屏幕方向

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {

    return UIInterfaceOrientationMaskPortrait;

}

2.如果页面有导航控制器,需要自定义一个导航控制器 

@interface BaseNavController : UINavigationController

在自定义的导航控制器实现

// 是否支持自动转屏

- (BOOL)shouldAutorotate {

    return [self.topViewController shouldAutorotate];;

}

// 支持哪些屏幕方向

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {

    return [self.topViewController supportedInterfaceOrientations];;

}

3.有tabBarController管理的页面需要在tabBarController里面实现shouldAutorotate和supportedInterfaceOrientations

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容