更改框架后视图会重新加载

时间:2018-09-01 15:37:31

标签: ios swift

我的应用中有一个YouTubePlayer(来自here)。我有一个UIViewController,其中有MainViewController个视频,其中有一个UITableView(我们称为UIViewController)。每当用户点击一个单元格时,它就会打开另一个DetailViewController(我们将其称为playerView),其自定义的xib视图称为playerView。就像我说的,YouTubePlayer是一个自定义的xib视图,在该视图中是我的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)

中设置playerView的方式
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

YouTubePlayer是另一个自定义的xib视图,并在较早时添加到应用程序的窗口中。所以这就是我开始遇到问题的地方。这段代码很棒。正确更改了框架并将其添加到nowPlayingView,但是playerView中的YouTubePlayer似乎已重新加载。因此它将暂停播放,显示一个加载图标,然后继续播放。真烦人。这不应该发生,因为视频已经加载到playerView中。我敢肯定,只有在更改networkx的框架时,它才会发生。有人对如何解决这个问题有任何想法吗?

1 个答案:

答案 0 :(得分:0)

当视频在加载后继续播放时,是从头开始还是在切换视图之前从中断处恢复播放?