2017-01-25 15 views
4

저는 tvOS 프로젝트에서 작업하고 있습니다. 이 프로젝트는 각각 UICollectionViewCell 안에 UIImageView이있는 UICollectionView을 포함합니다. 우선 셀에 초점이 맞을 때 '시차'효과가 나타나기 때문에 이미지에 adjustsImageWhenAncestorFocused을 사용하고 있습니다.Swift - UICollectionViewCell 내부에서 UIImageView에 레이어를 추가하고 시차 효과를 유지하는 방법

셀에 초점이 맞춰지면 문제가되지 않는 이미지 위에 레이블이 나타납니다 (제품 제목). 하지만 제목을 잘 읽을 수 있도록 이미지의 맨 위에 그라디언트 레이어를 붙이고 싶습니다.

문제 : 그라디언트 레이어를 UIImageView에 추가하면 맨 위에 표시되지만 '고정'되지는 않습니다. 그것은 사용자가 시차 일을하고 이미지와 함께 가야하지만, 그 위치에 유지하고 원본 이미지는 그라디언트 레이어 아래에 문제 The actual problem

코드의

스크린 샷을 이동 않습니다

let gradientLayer = CAGradientLayer() 

override func didUpdateFocus(in context: UIFocusUpdateContext, with coordinator: UIFocusAnimationCoordinator) { 

    gradientLayer.colors = [UIColor(red:0.00, green:1.00, blue:1.00, alpha:0.3).cgColor, UIColor(red:1.00, green:0, blue:1.00, alpha:0.3).cgColor] 
    gradientLayer.frame = productImageView.focusedFrameGuide.layoutFrame 
    gradientLayer.isHidden = true 
    self.productImageView.layer.addSublayer(self.gradientLayer) 

    if (self.isFocused){ 
     gradientLayer.isHidden = false 
    } 
    else { 
     gradientLayer.isHidden = true 
    } 

} 

추가 질문

이것은 버그입니까? 왜냐하면 나는 아직도이 문제를 해결하는 방법을 알지 못했기 때문입니다. 나는 이것을 애플에게 줄까요?

답변