我有一个自定义控制器,其中包含一个YTPlayerView,并在用户点击视频时显示在导航堆栈中。这一切都很好,直到在iPad上有画中画。
我认为当用户让玩家玩PiP时,点击后退按钮(从导航堆栈弹出这个玩家控制器)不会破坏玩家实例,因为PiP会暂停,并且当玩家暂停时它会继续播放用户单击播放按钮。
这会导致一个问题:当PiP正在运行,并且用户点击另一个视频时,会通过instantiateViewController(withIdentifier:)
从故事板生成此控制器的新实例,并显示,该应用程序崩溃了以下内容消息:
'Application tried to present modally an active controller <UINavigationController: 0x7fe862ef82d0>.'
(我确定我打电话给节目不存在)
我想要做的是获取当前的PiP实例(如果有的话),并在显示较新的控制器之前停止它。我怎样才能做到这一点? (因为我不想禁用PiP)