ZFPlayer
ZFPlayer copied to clipboard
iOS13中视频横屏下状态栏不自动旋转的解决办法
是因为setStatusBarOrientation 在iOS13下API失效了 解决:允许控制器旋转,iOS13横屏时会自动隐藏状态栏。ZF提供了TurnOnVCRotation开启控制器旋转
解决二:更简单,横屏的时候人为隐藏状态栏:
- (BOOL)prefersStatusBarHidden { if (@available(iOS 13.0, *)) { return self.player.isFullScreen; } return NO; } 这里我判断了是否iOS13。
你这个解决方案不满美吧。
在iPhone X试了,没有用额
不行啊,控制器不能转啊,会爆炸的
可以新建一个UIWindow,makeKeyAndVisible,在新的UIWindow里填加一个全屏控制器作转屏
UIView * window = [[UIApplication sharedApplication].windows objectAtIndex:0]; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.5]; [UIView setAnimationDelegate:self]; window.transform = CGAffineTransformMakeRotation(M_PI_2); [UIView commitAnimations];
UIView * window = [[UIApplication sharedApplication].windows objectAtIndex:0]; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.5]; [UIView setAnimationDelegate:self]; window.transform = CGAffineTransformMakeRotation(M_PI_2); [UIView commitAnimations];
这样没法使系统实现转屏吧?状态栏还是竖屏方向的?
横屏系统默认隐藏了状态栏,目前各大视频应用都是横屏自己绘制状态栏的解决方案,参考B站,写了一个自定义的状态栏,有需要可以自取: YNStatusBar