youtube 全屏视频不调用 viewWillAppear 或 viewWillRotate

Posted

技术标签:

【中文标题】youtube 全屏视频不调用 viewWillAppear 或 viewWillRotate【英文标题】:youtube full screen video not calling viewWillAppear or viewWillRotate 【发布时间】:2012-04-26 04:01:10 【问题描述】:

所以我有一个 UIWebView,其中有时它有一个 youtube 嵌入式播放器。当我播放它并进入全屏并旋转然后关闭视频时,它不会调用 viewWillAppear 或 willRotateTo .... 这是为什么?当设备旋转时,我需要进行一些视图调整,但是当播放器出现时,由于某种原因,这些方法都没有被调用。是的,我正确设置了 shouldAutoRotateToInterfaceOrientation 。有什么想法吗?

【问题讨论】:

你试过 willAnimateRotationToInterfaceOrientation 方法吗? 那也没有被调用 您是否在您的应用程序中将 shouldAutoRotateToInterfaceOrientation 设置为始终为 YES? 是的!最后仔细阅读问题 【参考方案1】:

您可以使用以下方法解决您的 UIwebView 问题,viewWillAppear 或 willRotateTo.. 从不调用 UIWebView。您可以通过观察@"UIMoviePlayerControllerDidExitFullscreenNotification" 模式来检测全屏模式的结束:

- (void)viewDidLoad

    [[NSNotificationCenter defaultCenter] addObserver:self
        selector:@selector(moviePlayerDidExitFullscreen:)
        name:@"UIMoviePlayerControllerDidExitFullscreenNotification"
        object:nil];


- (void)viewDidUnload

    [[NSNotificationCenter defaultCenter] removeObserver:self];


- (void)moviePlayerDidExitFullScreen:(NSNotification *)notification

    // This is where you do whatever you want.

【讨论】:

【参考方案2】:

您的控制器必须是 UIViewController,否则将不会调用 viewWillAppear 委托。

【讨论】:

发布更多代码,因为如果它实际上是一个 UIViewController,那么应该调用那些委托。

以上是关于youtube 全屏视频不调用 viewWillAppear 或 viewWillRotate的主要内容,如果未能解决你的问题,请参考以下文章

在 WebView 中加载 YouTube 视频时,全屏选项不可用

“全屏不可用”将YouTube视频作为iframe嵌入QWebEngineView中

启用 youtube 视频从全屏返回后,Android 软键盘将不显示

我可以在 UIWebView 内联(不是全屏)中播放 youtube 视频吗?

自动全屏播放 youtube 视频

你能在视频完成时让 youtube 视频退出全屏吗