iOS纯代码实现 强制横屏

作者: 解忧杂货店老板 | 来源:发表于2016-04-24 16:04 被阅读2947次

iOS9.0强制横屏

适用于“当需要在某个竖屏的情况下点击一个按钮跳转到另一个横屏的controller”

  • 首先 :在UINavigationViewController.m中重写以下三个方法,目的是为了在页面跳转和返回的时候让一级二级controller都找到自己支持的横竖屏模式,否则从横屏返回的时候会出现崩溃的情况
- (BOOL) shouldAutorotate {    
    return YES;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations { 
    return [self.viewControllers.lastObject supportedInterfaceOrientations];
}
- (UIInterfaceOrientation) preferredInterfaceOrientationForPresentation {
    return [self.viewControllers.lastObject referredInterfaceOrientationForPresentation];
}
  • 其次 :在你需要横屏的那个第二级controller.m里面重写三个方法:
- (BOOL)shouldAutorotate {
    return YES;
}
- (UIInterfaceOrientationMask) supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;
}
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
**//此处填写你需要让第二级controller现实的横屏方向**
    return UIInterfaceOrientationLandscapeLeft;
}
  • 最后:要注意一些细节点,只能用present不能用push.

要看的更真切的话,用代码说话.
请转到我的github:https://github.com/FocusLyn/LandscapeLeft

That's all. Thx reading.

相关文章

  • iOS纯代码实现 强制横屏

    iOS9.0强制横屏 适用于“当需要在某个竖屏的情况下点击一个按钮跳转到另一个横屏的controller” 首先 ...

  • iOS强制横屏方法之一

    //这段代码是强制产生横屏效果,通过kvo实现//强制右横屏 可以过审核-(void)viewWillAppea...

  • iOS强制横屏

    iOS强制横屏

  • iOS9之后强制横屏

    1、IOS8之后有的方法写到类里强制横屏之后已经没有用了 2、IOS8之后该怎么实现强制横屏 首先在代理类实现该方...

  • iOS横竖屏切换的问题解决(视屏播放界面效果)

    在网上找iOS横屏相关的信息时发现只有进入页面强制横屏的代码,并没有在一个页面通过点击按钮的方式实现当前屏幕的横竖...

  • iOS横屏的深入研究

    iOS横屏模式分2种:跟随系统自动旋转、强制横屏。无论哪种横屏模式,都有2中实现途径:1.重写系统旋转方法。2.对...

  • 简单实现强制横屏代码

    有些程序我们必须强制将屏幕横屏,比如播放器一类,今天贴出简单实现横屏的代码,希望给大家带来帮助

  • iOS 强制横屏(Push和模态)

    # iOS 强制横屏(Push和模态) iOS开发过程中,有时候需要页面强制横屏。 下面这种方法是不管手机有没有开...

  • 强制横屏方法

    强制横屏: 方法一: 关于强制横屏看了很多文章,首先第一个方法是invocation,这个方法可以实现横屏效果,但...

  • iOS强制横屏

    朋友给的场景,一个vc present一个nav包着一个vc,这个被present出来的vc要求横屏,dismi...

网友评论

  • coderYL:在横屏时,呼出通知栏,会变会竖屏,怎么破啊大神
    coderYL:@解忧杂货店老板 如果需要弹出键盘,键盘还是竖屏的
    解忧杂货店老板:在你需要横屏的页面重写这个方法
    - (UIInterfaceOrientationMask) supportedInterfaceOrientations {
    // return UIInterfaceOrientationMaskAll;
    return UIInterfaceOrientationMaskLandscapeLeft;
    }
  • coderYL:在横屏再present出来一个的时候,就变竖屏了,请问有解么
  • 佐佐向右:呵呵哒,你真机试试,全是乱的
    解忧杂货店老板:@佐佐向右 没毛病啊,改team和bundle identifier试试
  • sfandy:这种情况为何只能present方式?

本文标题:iOS纯代码实现 强制横屏

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