美文网首页
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