저는 tvOS 프로젝트에서 작업하고 있습니다. 이 프로젝트는 각각 UICollectionViewCell
안에 UIImageView
이있는 UICollectionView
을 포함합니다. 우선 셀에 초점이 맞을 때 '시차'효과가 나타나기 때문에 이미지에 adjustsImageWhenAncestorFocused
을 사용하고 있습니다.Swift - UICollectionViewCell 내부에서 UIImageView에 레이어를 추가하고 시차 효과를 유지하는 방법
셀에 초점이 맞춰지면 문제가되지 않는 이미지 위에 레이블이 나타납니다 (제품 제목). 하지만 제목을 잘 읽을 수 있도록 이미지의 맨 위에 그라디언트 레이어를 붙이고 싶습니다.
문제 : 그라디언트 레이어를 UIImageView에 추가하면 맨 위에 표시되지만 '고정'되지는 않습니다. 그것은 사용자가 시차 일을하고 이미지와 함께 가야하지만, 그 위치에 유지하고 원본 이미지는 그라디언트 레이어 아래에 문제
코드의
스크린 샷을 이동 않습니다
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
}
}
추가 질문
이것은 버그입니까? 왜냐하면 나는 아직도이 문제를 해결하는 방법을 알지 못했기 때문입니다. 나는 이것을 애플에게 줄까요?
누구나이 아이폰 OS (11) 기능을하기 전에 수동으로이 작업을 수행하는 방법을 알고 읽어? – jakedunc