美文网首页
iOS 不勾选设置工程Landscape,实现某个界面强制横屏

iOS 不勾选设置工程Landscape,实现某个界面强制横屏

作者: 一只浩子 | 来源:发表于2017-08-13 15:52 被阅读0次
    1. 项目中未勾选横屏的设置,但是,在某一个页面需要横屏显示,比如播放视频、图表显示等。
    2. 横屏的页面实现下面几句代码,代码如下(实现左横屏),注意这个ViewCotrol必须用present的方式推出。(而且是必须present这个ViewCotrol, 不能present被导航控制器管理的ViewCotrol)
    [self.navigationController presentViewController:vc animated:YES completion:nil];
    
    - (BOOL)shouldAutorotate
    {
        return NO;
    }
    
    - (UIInterfaceOrientationMask)supportedInterfaceOrientations
    {
        return UIInterfaceOrientationMaskLandscape;
    }
    
    - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
    {
        return UIInterfaceOrientationLandscapeLeft;
    }
    

    导航栏需要自己自定义哦
    最后,发现横屏情况下状态栏不显示
    Tips:解决这个问题,需要我们按照以下步骤操作
    2.1 在plist文件中将 View controller-based status bar appearance 设置为NO
    2.2 控制器中加入代码,搞定。

    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
    

    相关文章

      网友评论

          本文标题:iOS 不勾选设置工程Landscape,实现某个界面强制横屏

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