美文网首页开发集锦iOS集合
iOS强制单一界面 屏幕旋转

iOS强制单一界面 屏幕旋转

作者: VervertomJC | 来源:发表于2019-08-09 14:43 被阅读0次

    iOS强制单一界面 屏幕旋转大致两种方案吧,

    1

    一种是在Appdelegate中设置一个值 allowrotation,用来控制窗口的方向

    - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {    //添加 判断    return UIInterfaceOrientationMaskAll;}

    然后再在 要进入的页面设置 allowRotation的值,然后设置设备的方向进行旋转。

    详细见文章 iOS - 强制某个页面横屏,返回竖屏 - 简书

    当然旋转完后,UI的适配之类的需要自己调整, 具体的效果自己调整一番即可,不难,对于监测屏幕旋转的方法系统的traitCollection有提供控制器和视图的方法 

    - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator

    可以自己判断一下,或者根据size 判断pad的横竖屏之类的,也可以进行视图的刷新,此外就是在viewwillappear 和 viewdidlayoutsubviews这些方法中更新,

    2 方法二 

    首先先对屏幕旋转的层级了解一番
    iOS设置某个界面强制横屏,进入就横屏 - 爱生活爱代码 - 博客园

    iOS屏幕旋转及其基本适配方法 - 云+社区 - 腾讯云

    第二种方式本人只测试了  present  有导航控制器的页面强制竖屏,至于有tabbarcontroller 等的三级控制器以及push操作并未操作

    总体上是,一下三个方法,但在不同的控制器中实现不一样

    tabbarcontroller中的设置

    导航控制器中

    具体控制器中

    如果有解得请详细阅读本文的链接,此外,自己操作一番,当然很重要的一点,是需要设置一样屏幕支持旋转的方向,以及supportedInterfaceOrientations 和 preferredInterfaceOrientationForPresentation 返回值是否有交集的方向

    相关文章

      网友评论

        本文标题:iOS强制单一界面 屏幕旋转

        本文链接:https://www.haomeiwen.com/subject/xdqhjctx.html