2017-01-25 15 views
4

私はtvOSプロジェクトで作業しています。このプロジェクトにはの内にUIImageViewUICollectionViewが含まれています。まず、私は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 
    } 

} 

追加の質問

これはバグですか?私はまだこの問題を解決する方法を理解していないので。私はこれをAppleに与えるべきですか?

答えて

関連する問題