我试图在视图顶部设置黑色标签的高度约束,我在下面的白色标签上设置了一个约束,用于设置与上面标签的距离。然后我尝试使用以下代码设置高度动画更改黑色标签(我已尝试在 UIView.animateWithDuration self.height 的代码>阻止:
@IBOutlet weak var height: NSLayoutConstraint!
@IBAction func resize(sender: AnyObject) {
if self.collapsed {
self.height.constant = 100
} else {
self.height.constant = 0
}
UIView.animateWithDuration(2) {
[unowned self] in
self.view.layoutIfNeeded()
}
collapsed = !collapsed
}
通过按下按钮来调用 resize 动作。有一些动画,但不是我所期望的:标签立即将其大小更改为0或100.当它变为0时,第二个标签慢慢向上移动到新的位置。当黑色标签高度设置为100时,它将从第二个标签上方的屏幕顶部显示,而不是它们都向下移动到其最终位置。黑色标签在视图顶部也有一个约束,所以我不明白为什么黑色标签从顶部向下流动。
有什么想法吗?