それはどのように私はUIViewのアルファをKVOん...この偉大な記事で技術を使用して、Swift3では、KVOはUIViewのアルファですか?
https://stackoverflow.com/a/25219216/294884
Swift3の値KVOに「簡単」ですか?
目的:小さな画面の画面を想像してください。V画面に大きな表が表示されます。各セルには小さなCVがあります。
は、私は、各CVは
が(私は考えることができる唯一の本当の代替は、細胞をCADisplayLinkとアルファをポーリングすることであるV.のアルファのアニメーションの間、実際にVのアルファを、フォローしたいですV、どの種類の吸う。)そのため
理由の?これは、アルファ変更をセル間で同期させる唯一の方法です。
注ロブは、レイヤーのアルファがをアニメーション化しない実際には、以下の説明と同じように。 (アニメーションの冒頭で新しい値に「即座に」設定します)実際には、プレゼンテーションレイヤーに従わなければなりません。ここでは、すべてこれはKVOの理想的なユースケースではありません
let d = CADisplayLink(target: self, selector: #selector(ThisClassName.updateAlpha))
d.add(to: RunLoop.current, forMode: RunLoopMode.commonModes)
func updateAlpha() {
let a = leader.layer.presentation()?.value(forKey: "opacity") as! CGFloat
follower.alpha = a
}
壮大!もちろん、それは 'forKeyPath:" alpha "'です。本当にありがとう。 – Fattie