【问题标题】:Storyboard xib gets "stuck" after viewDidLoad情节提要 xib 在 vi​​ewDidLoad 后“卡住”
【发布时间】:2016-03-05 00:00:41
【问题描述】:

我从一开始就使用 iOS 进行编程,直到现在才使用故事板。我现在遇到的情况是,有时在我更改情节提要中的某些内容后,条目/第一个视图控制器会“卡住”。它的 viewDidLoad 方法被调用,但 viewWillAppear 从未被调用。

撤消更改通常不会解决问题。取而代之的是做一些随机的事情,比如删除一个插座然后重新添加,有时会让视图控制器正确加载。它变得非常烦人,因为有时需要 15-20 分钟的随机更改和恢复。我没有在在线搜索中找到任何相关内容。

我使用的是 Xcode 7.2.1。 Interface Builder 中没有显示布局问题,控制台日志也没有消息。

编辑: 我能够在 Interface Builder 中找到一个小的变化,当它到位时会导致加载卡住,而当它被移除时,它工作正常。这是可重复的。这是故事板中相关部分的两个差异。第一个是将主要约束应用于所有尺寸类别,而不仅仅是紧凑宽度。这将创建第二个更改,即对视图大小和位置的更新。这些是唯一的差异

</label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wGJ-ag-Esv" userLabel="Label"> - <rect key="frame" x="33" y="20" width="266" height="25"/> + <rect key="frame" x="41" y="20" width="258" height="25"/> <fontDescription key="fontDescription" name="Calibri-Light" family="Calibri" pointSize="17"/> <color key="textColor" red="0.7843137255" green="0.7843137255" blue="0.7843137255" alpha="1" colorSpace="calibratedRGB"/> <nil key="highlightedColor"/> </label>

- <constraint firstItem="wGJ-ag-Esv" firstAttribute="leading" secondItem="faX-t4-9PC" secondAttribute="trailing" id="OTw-xP-VtH"> - <variation key="widthClass=compact" constant="4"/> - </constraint> + <constraint firstItem="wGJ-ag-Esv" firstAttribute="leading" secondItem="faX-t4-9PC" secondAttribute="trailing" constant="4" id="OTw-xP-VtH"/>

【问题讨论】:

  • 我完全同意我在挥手。困难在于它是一个相当大的项目中的一个heisenbug。我的简短测试并没有用一个简单的例子复制任何问题。我没有 UITextView,但这正是我希望发现的信息和潜在陷阱。

标签: ios xcode interface-builder


【解决方案1】:

我相信我找到了问题所在。入口视图控制器的视图出口被意外设置为子视图。我不知道为什么它通常会起作用并且随机更改会解决问题,但我相信这就是问题所在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 2015-07-31
    相关资源
    最近更新 更多