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
demo在这,https://github.com/CoderYLZha...
用 一楼的回答解决了上面的问题,但是发现由横屏到竖屏后,在竖屏侧滑返回出现新的bug,
我更新到demo上了
回答:
没看源码,这是原来的一个参照思路,你试试。
以上是 iOS 在只支持竖屏的情况下,强制横屏出现的bug 的全部内容, 来源链接: utcz.com/p/184538.html