ios - 更改框架时视图重新加载
问题描述
我的应用程序中有一个YouTubePlayer
(从这里开始)。我有一个UIViewController
(我们称之为MainViewController
),里面有UITableView
很多视频。每当用户点击一个单元格时,它会打开另一个UIViewController
(我们称之为 this DetailViewController
),我的自定义 xib 视图名为playerView
. 就像我说的,playerView
是一个自定义的 xib 视图,在那个视图中是我的YouTubePlayer
. 这就是我在我的DetailViewController
playerContainer.addSubview(playerView)
playerView.frame = CGRect(x: 0, y: 0, width: playerContainer.frame.size.width , height: playerContainer.frame.size.height)
playerView.player.loadVideoID(nowPlayingVideo.id)
好的,所以这很好用。但是......每当用户解雇时DetailViewController
,我想playerView
被转移到MainViewController
. 就像用户可以看到在后台播放的内容一样。所以要做到这一点,我在DetailViewController
...中添加了这段代码
override func viewWillDisappear(_ animated: Bool) {
nowPlayingView.addSubview(playerView)
playerView.frame = CGRect(x: 8, y: 8, width: width, height: height)
playerView.layoutIfNeeded()
}
nowPlayingView
是另一个自定义 xib 视图,之前已添加到应用程序的窗口中。所以这就是我开始遇到问题的地方。这段代码很好用。YouTubePlayer
框架已正确更改并已添加到nowPlayingView,但是playerView
似乎重新加载。因此它会暂停播放,显示加载图标,然后继续播放。这很烦人。这不应该发生,因为视频已经加载到YouTubePlayer
. 我很确定只有在我更改playerView
. 有没有人对如何解决这个问题有任何想法?
解决方案
当视频在加载后恢复播放时,视频是从头开始还是在更改视图之前从中断的地方继续播放?
推荐阅读
- ms-word - 具有相同自定义功能区组的多个加载项
- mysql - mySQL 部分参与
- angular - rxjs:结合可观察的结果,同时已经用异步管道显示第一个
- javascript - 异步等待在 ctlr+F5 上工作正常但不是当我从一页移动到另一页时
- xcode - 升级到 0.60 后找不到“React/RCTBridgeDelegate.h”文件
- zk - zk 框架中 self 和 each 的含义
- replication - ActiveMQ Artemis 复制无法正常工作
- computer-vision - 如何在给定两个图像和相机位置/方向的情况下找到对象的 3D 坐标(三角测量)
- csv - 如何在Dialogflow的知识功能中加载数千行的CSV文件?
- design-patterns - 如何设计聚合的领域驱动设计应用服务?