这是“容易” KVO在Swift3,值使用的技术在这个伟大的职位...在Swift3中,KVO是UIView的alpha?
https://stackoverflow.com/a/25219216/294884
如何KVO一个UIView的阿尔法?
目标:想象一个小视图的屏幕V.屏幕有一个大的桌子视图。每个单元格都有一个小视图CV。
我希望每个CV跟随V的阿尔法
(唯一的真正替代我能想到的是CADisplayLink细胞和轮询的α在动画期间 V的α,实际上V,其中种吸。)
原因为何?这是跨单元同步alpha变化的唯一方法。
注意正如下面罗布解释说,其实层的阿尔法并不动画。 (它只是在动画开始时将“即时”设置为新值。)实际上,您必须遵循表示层。这里是一个逆向过程的例子,将它从你想要的每一个凹点拉出来
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