CGAffineTransfrom:轮换后翻译

时间:2017-02-07 16:00:25

标签: ios swift animation translation cgaffinetransform

我正在尝试使用CGAffineTransform旋转它后为矩形设置动画。我遇到的问题是矩形最终会出现在它想象的地方,但是"开始"第二次转换的位置不是我所期望的。这只是一个问题,因为我正在制作动画。以下是我的代码:

UIView.animate(withDuration: 5) {
        let shift = 200 * CGFloat(2.0.squareRoot() / 2)
        view.transform = view.transform.translatedBy(x: shift, y: 0)
    }

view已经在别处定义了,我已经用这个旋转了视图:

let rotation = CGAffineTransform(rotationAngle: (45/180)*CGFloat(M_PI))
view.transform = rotation

在动画之前,这就是它的样子:1

出于某种原因,转换从上方(稍微偏离屏幕)开始,然后向下移动到位。 2

我希望这会发生,它从原始图片开始,然后沿着旋转的方向移动。 3

注意我确实尝试对x和y应用相同的shift值进行翻译,但这并没有解决我的问题。

0 个答案:

没有答案