来自 xib 的 xml - 字段名称 nil 带键

Keu*_*uha 4 xml xcode xib

我正在研究 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 端设置这些值吗?

Raf*_*bre 5

我偶然发现了这个,认为这是一个格式错误的 XIB 文件。但实际上这个 nil 键代表UILabels 的默认文本颜色和突出显示颜色。当它们有任何值时,它们表示为<color key="highlightedColor" red="1" green="1" blue="0.50859917529999998" alpha="1" colorSpace="calibratedRGB"/>,否则表示为<nil key="highlightedColor"/>等。