来自 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 文本颜色和高亮颜色。当其中有任何值时,表示为<color key="highlightedColor" red="1" green="1" blue="0.50859917529999998" alpha="1" colorSpace="calibratedRGB"/>
,否则为<nil key="highlightedColor"/>
等。
【讨论】:
以上是关于来自 xib 的 xml - 带键的字段名称 nil的主要内容,如果未能解决你的问题,请参考以下文章
算法leetcode1409. 查询带键的排列(多语言实现)
算法leetcode1409. 查询带键的排列(多语言实现)