【发布时间】:2021-03-04 20:41:38
【问题描述】:
我在更新 NSLayoutConstraint 常量值时遇到了一个奇怪的问题。
我有一个带有自定义 UIView 的视图控制器(充当底页/卡片)。
在我的UIView 类中,我正在根据附加的UIPanGestureRecognizer 更新视图高度约束。这完美地工作。手势一结束,我就会将高度约束设置为特定值。此时,应用程序完全冻结而没有崩溃报告。更奇怪的是,它只在特定设备上冻结:例如 iPhone Pro 11 Max / Pro、iPhone X。它可以在 iPhone SE 或 iPad 上无缝运行。
应用变得无响应,内存不断快速增加。
有人知道发生了什么吗?
【问题讨论】:
-
您找到解决方案了吗?
-
是的,我的 UIView 在里面使用了一个 UIScrollView。以下行修复了崩溃:scrollView.contentInsetAdjustmentBehavior = .always
-
一定要调用 super.viewWillLayoutSubviews() (UIViewController 类)和 super.layoutSubviews() (UIView 类),以防你覆盖这些方法。我有一个类似的情况,应用程序崩溃了,我不得不调用这些。
-
contentInsetAdjustmentBehavior 拯救了这一天! xD
-
呜呼!添加它就是一个答案。
标签: swift xcode crash nslayoutconstraint ios14