我的图片有以下限制:
我希望我的图像从屏幕右侧开始,然后移动到设置约束的初始位置。
这是我的代码:
imageLeadingConstraint.constant = 100
imageTrailingConstraint.constant = -100
imageTopConstraint.constant = 100
image.layoutIfNeeded()
UIView.animate(withDuration: 1.0) {
self.imageLeadingConstraint.constant = 0
self.imageTrailingConstraint.constant = 0
self.imageTopConstraint.constant = 75
self.image.layoutIfNeeded()
}
问题是图像移动到初始位置,但没有使用动画 我的代码是对的吗?为什么图像只是出现在新位置而不是动画?
答案 0 :(得分:3)
您应该为imageView的超级视图调用layoutIfNeeded
。
self.image.superview.layoutIfNeeded()
答案 1 :(得分:0)
我不确定我是否了解你,但是: 1)在动画块之外更改约束(第二次)。 2)使用self.image.superview?.layoutIfNeeded()代替