在Swift 3中连接转换动画?错在哪里?

5

我正在尝试在Swift 3中连接两个变换(transform)动画。其中一个是缩放(scale),另一个是平移(translate)。我试图将这两个动画组合起来。我有一个名为 ourViewUIView outlet。据我理解,我做的一切都没问题,但是它给了我这个错误:

Value of tuple type ‘()’ has no member ‘concatenating’

以下是代码:

UIView.animate(withDuration: 0.5, animations: {
    let scale = self.ourView.transform = CGAffineTransform(scaleX: 1.5, y: 1.5)
    let translate = self.ourView.transform = CGAffineTransform(translationX: 0, y: 50)
    self.ourView.transform = scale.concatenating(translate)
})

我做错了什么?有人有任何想法吗?

你为什么设置了两次转换? - Artem Novichkov
你说的“double time”是什么意思? - John Hodge
1个回答

12

您正在将比例变换分配给ourView的变换,然后将该分配分配给比例变量。由于该分配是不带任何参数且不返回任何内容的语句,因此scale的类型为()。删除self.ourView.transform的内容,您就可以继续了。

let scale = CGAffineTransform(scaleX: 1.5, y: 1.5)
let translate = CGAffineTransform(translationX: 0, y: 50)
self.ourView.transform = scale.concatenating(translate)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接