我想在动画中更改imageView&y;并更改标签的文字。但是当我这样做的时候。 ImageView上升100,然后动画从-100到0.但是我想要它下降100。
如果我不更改标签的文字,动画效果会非常好。
label.text = "test"
UIView.animateWithDuration(0.5, animations: {
self.imageView.frame.origin.y += 100
})
此外,如果我这样做,它只会更改文本并且不会移动imageView。
label.text = "test"
imageView.frame.origin.y += 100
答案 0 :(得分:0)
您正在使用AutoLayout。使用自动布局时,无法直接更改frame
。
您必须设置约束,然后设置约束中的更改动画以设置视图的动画。
另外,你不能blah.frame.origin.y += 100
IIRC CGrect上的原点是只读的。
你可以......
Blah.frame = CGRectOffset(blah.frame, 0, 100)
但是再一次不能使用自动布局。
修改强>
原点可以在swift中设置。谢谢jrturton: - )