私はtvOSプロジェクトで作業しています。このプロジェクトにはの内に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
}
}
追加の質問
これはバグですか?私はまだこの問題を解決する方法を理解していないので。私はこれをAppleに与えるべきですか?
誰もがこのiOSの11機能の前に手動でこれを行う方法を知って読みますか? – jakedunc