取消隐藏UIStackView元素时的动画方向

时间:2015-11-23 02:34:04

标签: ios animation uistackview

当我将UIView作为垂直堆栈视图的元素并将该元素的“hidden”属性从true更改为false时,更改会自动设置动画,并且元素在变为可见时向下移动。我希望它向上移动。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:5)

UIStackView头文件中的UIStackViewDistribution枚举附有fill案例的以下注释:

  

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

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

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

label.setContentHuggingPriority(UILayoutPriorityRequired, for: .vertical)

答案 1 :(得分:2)

我刚才回答了类似的问题:Animate hidden property on UILabels in UIStackView causes different animations

设置UIView的{​​{1}}属性似乎会影响执行contentModeUIView动画的方式。