10

当我采用作为垂直堆栈视图元素的 UIView 并将该元素的“隐藏”属性从 true 更改为 false 时,更改会自动进行动画处理,并且元素会随着它变得可见而向下移动。我希望它向上移动。有没有办法做到这一点?

4

2 回答 2

5

UIStackViewDistributionUIStackView 头文件中的枚举附有针对该fill案例的以下注释:

当项目不适合(溢出)或填充(下溢)时,可用空间根据项目的压缩阻力或拥抱优先级进行调整,或者当它不明确时,根据排列顺序进行。

您可以通过设置项目的内容压缩阻力和内容拥抱优先级来影响项目动画的外观。

因此,例如,当在带有分布的垂直堆栈视图中隐藏和显示标签时,您可以通过确保每个标签在垂直轴上具有所需的内容拥抱优先级来fill使每个标签从其位置缩小和增长:arrangedSubviews

label.setContentHuggingPriority(UILayoutPriorityRequired, for: .vertical)
于 2017-01-06T16:03:33.213 回答
2

我刚刚在这里回答了一个类似的问题:Animate hidden property on UILabels in UIStackView cause different animations

设置UIView'contentMode属性似乎会影响UIViewan 内动画的UIStackView执行方式。

于 2016-10-20T08:28:21.213 回答