のcontentsプロパティを使用してUIImageView
に配置したマスクをアニメートしたいと思います。残念ながら、現在の実装 は、トランジション間を通過することなく、配列の最初と最後のイメージの間でのみアニメーション表示されるようです。これを達成する方法はありますか?またはCAReplicatorLayer
のような他のものを見なければなりませんか?ここでUIImagesの配列を使用してCALayerのcontentsプロパティをアニメーション化するにはどうすればよいですか?
は、私が現在持っているものです。
let mask = CALayer()
mask.frame = self.frame
self.layer.mask = mask
mask.contents = transitions.first?.cgImage
let maskAnimation = CABasicAnimation(keyPath: "contents")
maskAnimation.fromValue = transitions.first?.cgImage
maskAnimation.toValue = transitions.last?.cgImage
maskAnimation.duration = duration
mask.contents = transitions.last
mask.add(maskAnimation, forKey: "ContentsAnimation")
実際のプロジェクトは、ダウンロード可能で、実行可能です:https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch04p149keyframeSprite/ch17p495keyframeSprite/ViewController.swift – matt
これは完璧でした。ありがとうございました! – cyril