UIStackView
隐藏显示动画在 ios 版本之间有很大不同。这是一个基本设置。我有一个 UIStackView,其中包含三个排列的 subview 。并且 UIScrollView
包含 UIStcakView
。我使用自动布局。堆栈 View 代码是这样的:
let stack = UIStackView(arrangedSubviews: [view1, view2, view3])
stack.translatesAutoresizingMaskIntoConstraints = false
stack.axis = .vertical
stack.distribution = .fill
stack.alignment = .fill
制作动画的代码是这样的:
isHidden.toggle()
UIView.animate(withDuration: 2) {
self.view3.isHidden = self.isHidden
}
当它在 ios 10 模拟器上运行时,动画是正确的。
但是在 ios 13 中动画不正确。
那么有没有办法让这个动画像ios10上一样呢?或者我应该使用 UITableView
而不是 UIStackView
?
最佳答案
您似乎忘记降低 view3 高度限制的优先级。
UIStackView 通过将其高度限制为 0 来隐藏其 subview ,因此如果您对 View 高度有其他限制,它们将与堆栈 View 冲突。
关于ios - UIStackView ios版本之间不同的显示隐藏动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58763175/