相关疑难解决方法(0)

在Swift3中,KVO是UIView的alpha?

对于KVO来说,在Swift3中使用这个伟大的帖子中的技术"很容易"...

/sf/answers/1765345151/

我怎么KVO UIView的alpha?

目标:想象一个小视图的屏幕V.屏幕有一个大的桌面视图.每个单元格都有一个小视图CV.

我希望每个CV跟随1 V的α,实际上在五的Alpha的动画

(我能想到的唯一真正的替代品是CADisplayLink细胞并轮询V的alpha,这种情况很糟糕.)


1原因是什么?这是跨单元格同步alpha变化的唯一方法.


注意正如Rob在下面解释的那样,实际上图层的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
  }
Run Code Online (Sandbox Code Playgroud)

key-value-observing uiview swift3

3
推荐指数
1
解决办法
1400
查看次数

标签 统计

key-value-observing ×1

swift3 ×1

uiview ×1