取消隐藏 UIStackView 元素时的动画方向
Posted
技术标签:
【中文标题】取消隐藏 UIStackView 元素时的动画方向【英文标题】:Direction of animation when un-hiding a UIStackView element 【发布时间】:2015-11-23 02:34:03 【问题描述】:当我采用一个作为垂直堆栈视图元素的 UIView 并将该元素的“隐藏”属性从 true 更改为 false 时,更改会自动进行动画处理,并且元素会随着它变得可见而向下移动。我希望它向上移动。有没有办法做到这一点?
【问题讨论】:
【参考方案1】:UIStackView 头文件中的UIStackViewDistribution
枚举伴随着fill
案例的以下注释:
当项目不适合(溢出)或填充(下溢)时,可用空间根据项目的压缩阻力或拥抱优先级进行调整,或者当它不明确时,根据排列顺序。
您可以通过设置项目的内容压缩阻力和内容拥抱优先级来影响项目动画的外观。
因此,例如,当在具有 fill
分布的垂直堆栈视图中隐藏和显示标签时,您可以通过确保每个标签具有所需的内容拥抱优先级来使每个标签从其在 arrangedSubviews
中的位置收缩和增长纵轴:
label.setContentHuggingPriority(UILayoutPriorityRequired, for: .vertical)
【讨论】:
【参考方案2】:我刚刚在这里回答了一个类似的问题:Animate hidden property on UILabels in UIStackView causes different animations
设置UIView
的contentMode
属性似乎会影响UIStackView
内的UIView
动画的执行方式。
【讨论】:
以上是关于取消隐藏 UIStackView 元素时的动画方向的主要内容,如果未能解决你的问题,请参考以下文章