Swift 动画持续时间()
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)
但这同样不适用于自动布局。
编辑
原点可在 swift 中设置。谢谢 jrturton:-)
我想在动画中更改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)
但这同样不适用于自动布局。
编辑
原点可在 swift 中设置。谢谢 jrturton:-)