2017-10-22 9 views
1

collectionView를 사용하여 두 이미지/비디오를 표시하고 있습니다.AVPlayer 및 AVPlayerLayer를 스크롤 할 수있게 만드는 방법 (AVFoundation)

Firebase에서 콘텐츠를 가져옵니다.

이미지를 스크롤 할 수 있습니다. Firebase가 이미지/컨텐트의 일괄 검색을 허용하지 않기 때문에 scrollview를 추가하고 수동으로 20 개의 imageView를 추가했습니다. 그런 다음 값이 존재하는지 확인하고, 그렇다면 특정 색인 (이미지 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 
     } 

, 나는 내가 가진 첫 번째 이미지보기로 상관 관계 프레임/경계를 정의했습니다. 당연히 스크롤하면 도움이 될까요? 하나의 이미지보기와 동일한 크기를 차지합니다. 아아, 동영상 플레이어/동영상 레이어는 정적이며 스크롤보기를 따르지 않습니다. 이 문제를 어떻게 해결할 수 있을지에 대한 아이디어가 있습니까?

감사합니다.

답변

0

알아 냈어. 이것은 다른 누구를위한 것입니다. 하나이 경우, 단순히이 줄을 추가 그렇게되면

등 CollectionViewCell

, 해당 .swift 파일 즉의 ViewController에, 당신의있는 ScrollView를 연결합니다.

자기. 당신의있는 ScrollView] .layer.addSublayer (비디오 레이어의 이름!)

그리고 당신은 괜찮을거야!