我正在使用collectionView来显示两个图像/视频。
我正在从Firebase中检索内容。
使用图像,我可以滚动。我添加了一个scrollview并手动添加了20个imageViews,因为Firebase不允许批量检索图像/内容。然后检查是否存在值,如果存在,则显示某个索引的内容(图1-20)。
在这段代码中定义一定数字时我似乎注意到了:
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
我可以滚动视频。然而,由于我无法检索多个图像,我采用了更不方便的方式或添加了20个imageViews。要显示视频,我正在执行以下操作:
if let firstVidURLString = post?.firstVideoURL, let firstVideoURL = URL(string: firstVidURLString) {
self.volumeView.isHidden = false
videoPlayer = AVPlayer(url: firstVideoURL)
videoPlayerLayer = AVPlayerLayer(player: videoPlayer)
videoPlayerLayer?.frame = self.firstImageView.frame
videoPlayerLayer?.videoGravity = AVLayerVideoGravity.resizeAspectFill
layoutIfNeeded()
videoPlayerLayer?.zPosition = 0
self.contentView.layer.addSublayer(videoPlayerLayer!)
self.volumeView.layer.zPosition = 1
videoPlayer?.play()
videoPlayer?.isMuted = isMuted
}
我对它的放置方式感到满意,我已经将帧/边界定义为与我的第一个图像视图相关。当然,那应该帮助我滚动?因为它占用与一个图像视图相同的大小。唉,视频播放器/视频层只是静态的,不符合滚动视图。关于如何解决这个问题的任何想法?
谢谢。
答案 0 :(得分:0)
想出来。这是为了其他任何人,将来。
将scrollView(如果有的话)连接到相应的.swift文件,即ViewController,CollectionViewCell等。
一旦你这样做,只需添加这一行。
self。[your scrollview] .layer.addSublayer(视频图层的名称!)
你会没事的!