iOS 在只支持竖屏的情况下,强制横屏出现的bug

https://segmentfault.com/q/10...
采用这个答案提供的方法,
AppDelegate添加了一个属性

@property (nonatomic, assign) UIInterfaceOrientationMask orientationMask;

在竖屏页面添加button,点击后present一个控制器,横屏展示

- (void)buttonClick {

LandscapeViewController *vc = [[LandscapeViewController alloc]init];

[self presentViewController:vc animated:YES completion:nil];

}

在横屏VC里 LandscapeViewController.m (背景红色)

- (void)viewDidLoad {

[super viewDidLoad];

self.view.backgroundColor = [UIColor redColor];

[_MAppDelegate setOrientationMask:UIInterfaceOrientationMaskLandscapeRight];

}

- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

[_MAppDelegate setOrientationMask:UIInterfaceOrientationMaskPortrait];

[self dismissViewControllerAnimated:YES completion:nil];

}

在iOS10,和iOS11 上时,每一次启动,第一次点击按钮进入横屏,有小概率横屏失败?效果如下:
红色的是横屏控制器的View
clipboard.png

demo在这,https://github.com/CoderYLZha...

用 一楼的回答解决了上面的问题,但是发现由横屏到竖屏后,在竖屏侧滑返回出现新的bug,
我更新到demo上了

回答:

没看源码,这是原来的一个参照思路,你试试。

以上是 iOS 在只支持竖屏的情况下,强制横屏出现的bug 的全部内容, 来源链接: utcz.com/p/184538.html

回到顶部