【问题标题】:iOS 14: App freezes without crash report on updating constraint constantiOS 14:应用程序冻结而没有更新约束常量的崩溃报告
【发布时间】: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


【解决方案1】:

经过数小时的调试。希望这可以帮助某人:

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

scrollView.contentInsetAdjustmentBehavior = .always

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 2013-11-10
    • 2012-05-10
    相关资源
    最近更新 更多