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

2017-08-13  本文已影响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];
上一篇下一篇

猜你喜欢

热点阅读