iOS 14:应用程序冻结,更新约束常量没有崩溃报告

问题描述

我在更新 NSLayoutConstraint 常量值时遇到一个奇怪的问题。

我有一个带有自定义 UIView 的视图控制器(充当底部工作表/卡片)。 在我的 UIView 类中,我根据附加的 UIPanGestureRecognizer 更新视图高度约束。这完美地工作。一旦手势结束,我就会将高度约束动画化为特定值。此时,应用程序完全冻结,没有崩溃报告。更奇怪的是,它只在特定设备上冻结:例如 iPhone Pro 11 Max / Pro、iPhone X。它可以在 iPhone SE 或 iPad 上无缝运行。

应用变得无响应,内存持续快速增加

有人知道发生了什么吗?

解决方法

经过数小时的调试。希望这对某人有所帮助:

我的 UIView 在里面使用了一个 UIScrollView。以下行修复了崩溃:

scrollView.contentInsetAdjustmentBehavior = .always