ios 指定某个页面是横屏还是竖屏
来源:互联网 发布:淘宝客qq群现在好做吗 编辑:程序博客网 时间:2024/06/05 00:46
最近项目中有这种需求,在进入某个界面时可能是横屏也有可能是竖屏,但是项目中大部分界面都是采用竖屏这种情况下就要对这个界面进行单独处理,下面是我的解决方法。
网上搜到的都是这样子的
-(BOOL)shouldAutorotate{ returnYES;}- (NSUInteger)supportedInterfaceOrientations{ returnUIInterfaceOrientationMaskPortrait;}
shouldAutorotate 意思是是否支持自动旋转 supportedInterfaceOrientations意思是旋转的方向。但是我要处理的这个界面进行这样的操作发现这两个方法根本不起作用,困扰之余通过查找资料终于明白了到底怎么回事。
看看官方文档
通过描述我们可以发现这两个方法需要设置在根视图中,意思是说确实这个页面是否旋转旋转的方向都是要根据根视图的这两个方法来判断,真的很操蛋。好了既然知道了这点下面是我的处理办法。
我在我的 BaseNavigationController 处理如下:
我在我的 BaseNavigationController 处理如下:
-(BOOL)shouldAutorotate{ returnself.topViewController.shouldAutorotate;}- (NSUInteger)supportedInterfaceOrientations{ returnself.topViewController.supportedInterfaceOrientations;}
这段代码的作用就是 对是否旋转和旋转方向都从当前的控制器去取。
在我的 BaseViewController 处理如下 :
-(BOOL)shouldAutorotate{ returnYES;}- (NSUInteger)supportedInterfaceOrientations{ returnUIInterfaceOrientationMaskPortrait;}
这样做的目的就是如果一些界面没有使用这两个方法那默认就是竖屏。
通过这样做就可以实现可以单独在某个控制实现单独的横屏和竖屏如:
-(BOOL)shouldAutorotate{ returnYES;}- (NSUInteger)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskLandscapeRight;}
这里还多介绍一个方法,比如我们需要点击某个按钮的时候要控制器进行旋转,这个时候就需要进行强制旋转下面两个方法就可以实现:
[[UIDevicecurrentDevice]setValue:[NSNumbernumberWithInteger:UIDeviceOrientationLandscapeLeft]forKey:@"orientation"];[[selfclass]attemptRotationToDeviceOrientation];
1 0
- ios 指定某个页面是横屏还是竖屏
- iOS如何指定某个页面可以旋转屏幕,其余控制器都正常竖屏
- iOS 指定页面允许旋转/ 指定页面强制横屏
- IOS指定某个试图某个角圆角
- iOS指定页面旋转
- iOS跳转指定页面
- iOS 如何让某个页面单独横屏
- IOS 指定某个角为圆角
- iOSpush到某个页面然后跳转导航栏指定页面
- IOS之返回指定页面
- iOS pop至指定页面
- iOS指定页面屏幕旋转
- iOS pop到指定页面
- iOS指定页面屏幕旋转
- iOS 返回到指定页面
- ios 跳转指定页面和插入页面
- ios 跳转指定页面和插入页面
- navigationController在pop时,指定pop到某个页面
- Android 实现简易下载管理器 (暂停、断点续传、多线程下载)
- IOS 解决集成zbar链接错误
- windows下安装nginx
- com.android.build.transform.api.TransformException
- hduoj1198(并查集)
- ios 指定某个页面是横屏还是竖屏
- Android Studio Mac版快捷键
- iOS沙盒目录结构解析
- BLOB和TEXT的区别
- 修改mysql编码格式,存入中文变为问号
- Ubuntu下LTE的加载过程
- GROUP BY ORDER BY 同时使用按时间排序
- Android布局
- hadoop hdfs.xml权限问题导致App Timeline Server服务无法正常启动