ZFPlayer icon indicating copy to clipboard operation
ZFPlayer copied to clipboard

iOS13中视频横屏下状态栏不自动旋转的解决办法

Open RchTimeK opened this issue 5 years ago • 8 comments

是因为setStatusBarOrientation 在iOS13下API失效了 解决:允许控制器旋转,iOS13横屏时会自动隐藏状态栏。ZF提供了TurnOnVCRotation开启控制器旋转

RchTimeK avatar Sep 28 '19 01:09 RchTimeK

解决二:更简单,横屏的时候人为隐藏状态栏:

  • (BOOL)prefersStatusBarHidden { if (@available(iOS 13.0, *)) { return self.player.isFullScreen; } return NO; } 这里我判断了是否iOS13。

RchTimeK avatar Sep 28 '19 04:09 RchTimeK

你这个解决方案不满美吧。

gaojinhsu avatar Sep 28 '19 07:09 gaojinhsu

在iPhone X试了,没有用额

jeff201903 avatar Oct 11 '19 10:10 jeff201903

不行啊,控制器不能转啊,会爆炸的

vvard3n avatar Oct 14 '19 02:10 vvard3n

可以新建一个UIWindow,makeKeyAndVisible,在新的UIWindow里填加一个全屏控制器作转屏

TigerWf avatar Oct 17 '19 11:10 TigerWf

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];

ptlCoder avatar Nov 07 '19 06:11 ptlCoder

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];

这样没法使系统实现转屏吧?状态栏还是竖屏方向的?

GeekLee609 avatar Nov 07 '19 10:11 GeekLee609

横屏系统默认隐藏了状态栏,目前各大视频应用都是横屏自己绘制状态栏的解决方案,参考B站,写了一个自定义的状态栏,有需要可以自取: YNStatusBar

luyinuo avatar Apr 13 '22 10:04 luyinuo