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

Posted

技术标签:

【中文标题】来自 xib 的 xml - 带键的字段名称 nil【英文标题】:xml from xib - field name nil with key 【发布时间】:2017-12-05 09:20:16 【问题描述】:

我正在研究 xib 文件的 xml 端以了解它的工作方式。令人惊讶的是,没有关于它的文档。

这是我的问题

<view contentMode="scaleToFill" id="iN0-l3-epB">
        <rect key="frame" x="0.0" y="0.0"  />
        <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"  />
                <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>

xml 中存在的所有信息都可以作为 xcode 界面上的可设置选项找到。但是,

 <nil key="textColor"/>
   <nil key="highlightedColor"/>

我只是不明白这两个。好的,它们是选项,可在 xcode 接口等上设置,但在 xcode 上选中或取消选中 highlightedColor 不会影响文件 xml 端的值。

有没有人能解释一下为什么这些字段被命名为nil 并且知道如何从 xml 端设置这些值?

【问题讨论】:

你找到答案了吗? 【参考方案1】:

我偶然发现这是一个格式错误的 XIB 文件。但实际上这个 nil 键代表 UILabel 的 Default 文本颜色和高亮颜色。当其中有任何值时,表示为&lt;color key="highlightedColor" red="1" green="1" blue="0.50859917529999998" alpha="1" colorSpace="calibratedRGB"/&gt;,否则为&lt;nil key="highlightedColor"/&gt;等。

【讨论】:

以上是关于来自 xib 的 xml - 带键的字段名称 nil的主要内容,如果未能解决你的问题,请参考以下文章

算法leetcode1409. 查询带键的排列(多语言实现)

算法leetcode1409. 查询带键的排列(多语言实现)

K:leetcode 5381.查询带键的排列 这题简单,但我还能优化。精益求精,才是算法的乐趣所在!

带键的 ReactJS 动态子项

对象作为 React 子对象无效(找到:带键的对象...)

错误:对象作为 React 子对象无效(找到:带键的对象..........)