如何在iOS中不使用动画修改图层的属性?

时间:2019-10-31 01:49:35

标签: ios swift

我正在研究UIView与图层绘制周期之间的关系。 因此,接下来可能是一个愚蠢的问题。 我试图更改图层的属性,例如位置,边界,框架,backgroundColor,不透明度和其他属性。

我测试了add(_:forKey :)和动画效果很好,但是当我尝试直接更改property的值时,我没想到屏幕上会出现任何动画。我期望的是,只需在屏幕上进行简单的更改即可,例如UIView的属性无需动画即可更改

现在,我非常困惑CALayer概念的区别和根本。

let instanceLayer = CustomCALayer()

@IBAction func adjustCoordinate() {
    let position = CGPoint(x: 300, y: 300)

    if instanceLayer.position == position {
        instanceLayer.position = point!
        //instanceLayer.position = CGPoint(x: 50, y: 50)
    } else {
        instanceLayer.position = position
    }
}

@IBAction func adjustSize() {
    let size = CGSize(width: 200, height: 200)
    if instanceLayer.bounds.size == size {
        instanceLayer.bounds.size = CGSize(width: 50, height: 50)
    } else {
        instanceLayer.bounds.size = size
    }
}

0 个答案:

没有答案