gpt4 book ai didi

ios - 全屏 Youtube 视频后开始/结束外观转换的不平衡调用

转载 作者:可可西里 更新时间:2023-11-01 05:41:20 28 4
gpt4 key购买 nike

我正在尝试解决这个问题:

情况:

我有一个非常基本的应用程序,一个内部带有 TableView 的 MMDrawerController,当按下一个项目时它链接到一个 uitabbarcontroller。在其第一页内是一个嵌入式 youtube UIWebView,当按下它时 全屏 播放 youtube 视频。

这是正在发生的事情。

  1. 点击视频,全屏打开并开始播放
  2. UITabBar viewWillDisappear 触发
  3. 根 MMDrawerController viewWillAppear 触发
  4. 视频结束
  5. 用户回到他们启动的 UITabBar,一切似乎都很好即使它早些时候“消失”了

现在我将 bool 值放入两个 View 的 ViewWillAppears/Disappears 中,以检查应用程序的当前状态。通常它是 0,1 表示表是打开的或者 uitabbarcontroller 是打开的。在视频之后,他们显示 0,0。如果我在导航上按回,无论我身在何处,都会收到“开始/结束外观转换的不平衡调用”。

现在如果我监听 youtube 视频的开始然后开火:

[self.navigationController popToRootViewControllerAnimated:NO];

我可以防止不平衡调用的发生,并且用户可以继续在应用中导航。然而,他们无法观看视频,只是被退回了一个 View 。

在 3 中也是如此。我可以检查两个 Controller 上的 0、0,然后几乎重新启动整个应用程序。但这不是一个好的解决方案。

预期结果:

用户可以按下 uiwebview,观看视频,然后返回到他们离开的地方。如果他们回击导航 Controller ,则不会出现不平衡的外观转换。


我试过很多东西,比如

[self.navigationController poptoViewController:...]


从我此时收集到的信息来看,它与根 Controller 中加载的全屏视频有关(因此它的 viewWillAppear 在 3 时触发。)但之后我没有正确地“放置”回来。有点像

[self.navigationController heyTheUserIsPresentlyIn:self]

我可以在视频结束后调用 非常好

非常感谢任何帮助,尽管我已经在这上面花费了好几个小时,如果我是个白痴,任何指向文档或书籍部分的链接都会有很大帮助。谢谢。

最佳答案

这听起来像是 ViewController 生命周期问题。

您确定要从 UITableView 导航到 UITabBarController 吗?尝试删除后者,因为它通常是根 ViewController 并且可以基于此假设调用 viewWillDisappearviewWillAppear

如果你需要一个选项卡式的控件,它不是根 ViewController 可以考虑推出你自己的吗?

关于ios - 全屏 Youtube 视频后开始/结束外观转换的不平衡调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19499744/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com