【发布时间】:2021-06-21 11:30:02
【问题描述】:
这是我的代码:
let colorLayer = CALayer()
colorLayer.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
colorLayer.backgroundColor = UIColor.blue.cgColor
let blockView = UIView.init(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
blockView.backgroundColor = UIColor.red
self.view.addSubview(blockView)
blockView.layer.addSublayer(colorLayer)
Timer.scheduledTimer(withTimeInterval: 3, repeats: true, block: { (t) in
UIView.animate(withDuration: 1.0) { [self] in
// this animation lasts 1s
// let transform = blockView.layer.affineTransform()
// blockView.layer.setAffineTransform(transform.rotated(by: CGFloat(Double.pi / 2.0)))
// while this animation 0.25s
let transform2 = colorLayer.affineTransform()
colorLayer.setAffineTransform(transform2.rotated(by: CGFloat(Double.pi / 2.0)))
} completion: { (complete) in
}
})
为什么我的自定义子层 colorLayer 旋转 0.25 秒(默认值),不是由 withDuration: 参数设置,但 blockView.layer 工作正常?
【问题讨论】:
标签: ios swift uiview core-animation calayer