【发布时间】: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