我正在使用collectionView来显示图片和视频。
我从Firebase中检索内容。
对于图片,我可以滚动。我添加了一个滚动视图并手动添加了20个imageView,因为Firebase不允许批量检索图像/内容。然后检查值是否存在,如果存在,则在特定索引处显示内容(即第1-20张图像)。
我似乎注意到当在此代码片段中定义某个数字时:
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
我可以滚动浏览视频。但是由于我不能检索多个图像,我只好采用更不方便的方式,添加20个ImageView。为了显示视频,我正在执行以下操作:
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
}
我对它的位置感到满意,我已经根据第一个图像视图定义了框架/边界。这样做肯定会帮助我滚动吧?因为它占据了一个图像视图相同的大小。可惜,视频播放器/视频层只是静态的,并不会适应滚动视图。有什么好的想法来解决这个问题吗?
谢谢。