当一个排列的子视图的固有内容大小改变时,是否可以对其进行动画处理?
例如,假设我有一个排列的子视图,其中包含一个固定边缘的单个UILabel。该标签具有少量文本。新文本到来,比以前的文本更大。标签的固有内容大小现在更大。
我想这样做的目的是能够像这样进行动画处理:
stackView.layoutIfNeeded()
self.label.text = self.expanded ? textTwo : textOne
UIView.animateWithDuration(0.3) { () -> Void in
self.stackView.layoutIfNeeded()
}
当前的 stackview 会从旧内容大小直接跳到新内容大小,忽略动画块。
当然,另一种方法是手动找出排列子视图的高度,并对该约束进行动画处理。如果可能的话,我想避免这种情况。