【发布时间】:2018-07-17 15:22:50
【问题描述】:
我尝试使用自己的锚点以 90 度角旋转 uiview(高度和宽度为 100)。更改锚点后,我翻译我的视图,以便两个更改相互抵消。
当我使用 (Double.pi) 旋转视图时,它会按预期设置动画,但是当我更改为 (Double.pi/2) 时,视图会向上跳跃。
testView.layer.anchorPoint = CGPoint(x: 0.5, y: 1)
testView.layer.transform = CATransform3DMakeTranslation(0, -50, 0)
UIView.animate(withDuration: 2.3, delay: 0, options: .curveLinear, animations: { () -> Void in
var allTransofrom = self.testView.layer.transform
var c3d = CATransform3DIdentity
c3d.m34 = 2.5 / (2000)
let rot = CATransform3DRotate(c3d, CGFloat(Double.pi/2), 1, 0, 0)
allTransofrom = CATransform3DConcat(allTransofrom, rot)
self.testView.layer.transform = allTransofrom
}, completion: {(finished) in
} )
完整代码here
【问题讨论】:
标签: ios swift uiview catransform3d