gpt4 book ai didi

ios - 动画 UIStackView arrangedSubview 内容大小变化

转载 作者:可可西里 更新时间:2023-11-01 03:14:12 25 4
gpt4 key购买 nike

是否可以在其固有内容大小发生变化时为已排列的 subview 设置动画?

例如,假设我有一个排列好的 subview ,其中包含一个固定到边缘的 UILabel。该标签有少量文字。新文本出现,比以前的文本大。标签的固有内容大小现在更大了。

我希望能够像这样制作动画:

 stackView.layoutIfNeeded()
self.label.text = self.expanded ? textTwo : textOne
UIView.animateWithDuration(0.3) { () -> Void in
self.stackView.layoutIfNeeded()
}

堆栈 View 当前从旧内容大小“跳”到新内容大小,忽略动画 block 。

当然,另一种方法是手动找出排列的 subview 的高度,并为该约束设置动画。如果可能的话,我想避免这种情况。

最佳答案

找到有用的东西:

label.text = expanded ? textOne : textTwo
UIView.animateWithDuration(0.4) { () -> Void in
self.stackView.setNeedsLayout()
self.stackView.layoutIfNeeded()
}

不起作用:

label.text = expanded ? textOne : textTwo
UIView.animateWithDuration(0.4) { () -> Void in
self.stackView.layoutIfNeeded()
}

奇怪的是,改变内在内容的大小并不会使 stackView 需要布局......

关于ios - 动画 UIStackView arrangedSubview 内容大小变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35365691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com