[英]Swift animateWithDuration()
我想在动画中更改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
您正在使用自动版式。 使用自动布局时,不能直接更改frame
。
您必须设置约束,然后为约束中的变化设置动画,以为视图创建动画。
另外,您不能执行blah.frame.origin.y += 100
IIRC CGrect上的原点是只读的。
你可以做...
Blah.frame = CGRectOffset(blah.frame, 0, 100)
但是同样,这不适用于自动布局。
编辑
原点可快速设置。 谢谢jrturton :-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.