我正在研究 xib 文件的 xml 部分以了解它的工作方式。令人惊讶的是,没有任何关于它的文档。
这是我的问题
<view contentMode="scaleToFill" id="iN0-l3-epB">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wwI-XT-LR8">
<rect key="frame" x="116" y="31" width="92" height="90"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
<point key="canvasLocation" x="-52.5" y="-93.5"/>
</view>
Run Code Online (Sandbox Code Playgroud)
xml 中存在的所有信息都可以作为 xcode 界面上的可设置选项找到。但,
<nil key="textColor"/>
<nil key="highlightedColor"/>
Run Code Online (Sandbox Code Playgroud)
我只是不明白那两个。好吧,它们是选项,可在 xcode 界面等上设置,但highlightedColor在 xcode 上选中或取消选中不会影响文件 xml 端的值。
你们中有人可以解释一下为什么这些字段被命名nil并知道如何从 xml 端设置这些值吗?
我偶然发现了这个,认为这是一个格式错误的 XIB 文件。但实际上这个 nil 键代表UILabels 的默认文本颜色和突出显示颜色。当它们有任何值时,它们表示为<color key="highlightedColor" red="1" green="1" blue="0.50859917529999998" alpha="1" colorSpace="calibratedRGB"/>,否则表示为<nil key="highlightedColor"/>等。
| 归档时间: |
|
| 查看次数: |
281 次 |
| 最近记录: |