ios - UIStackView ios版本之间不同的显示隐藏动画

标签 ios swift uistackview

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 10 animation

但是在 ios 13 中动画不正确。

ios 13

那么有没有办法让这个动画像ios10上一样呢?或者我应该使用 UITableView 而不是 UIStackView

最佳答案

您似乎忘记降低 view3 高度限制的优先级。

UIStackView 通过将其高度限制为 0 来隐藏其 subview ,因此如果您对 View 高度有其他限制,它们将与堆栈 View 冲突。

关于ios - UIStackView ios版本之间不同的显示隐藏动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58763175/

相关文章:

ios - Fabric/Crashlytics 删除组织捕获 22

ios - 如何将图像添加到 UITableView 单元格?

javascript - 将 HTML5 PhoneGap App 连接到在线数据库

ios - 需要根据我的设备大小按比例调整 StackView 的大小

ios - 如何以编程方式在 IOS 的 UIStackView 中重新排序项目?

ios - 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用以禁用弱密码

ios - UIPanGestureRecognizer 弹出 UIViewController

swift - Google Sign 通过 YouTube 返回 'invalid credentials'

swift - 在 iWatch 上通过 Kingfisher 从 URL 加载图像需要很长时间

swift - 如何在stackview文本字段中获取数字以快速获取otp的动态数字键盘