【发布时间】:2018-06-09 09:37:42
【问题描述】:
在为低于 iOS 11 的目标开发 iOS 应用程序时,我不小心在我的一个故事板中留下了一个命名颜色。但是,我得到的错误只显示了故事板的名称,而不是导致问题的确切视图:
命名颜色在 iOS 11.0 之前不起作用
Main.storyboard
如何找到具有命名颜色作为属性的确切视图并将其替换为未命名颜色?
【问题讨论】:
标签: ios interface-builder
在为低于 iOS 11 的目标开发 iOS 应用程序时,我不小心在我的一个故事板中留下了一个命名颜色。但是,我得到的错误只显示了故事板的名称,而不是导致问题的确切视图:
命名颜色在 iOS 11.0 之前不起作用
Main.storyboard
如何找到具有命名颜色作为属性的确切视图并将其替换为未命名颜色?
【问题讨论】:
标签: ios interface-builder
将故事板作为源代码打开。 (右键单击项目导航器/打开方式/源代码中的情节提要文件)
导航至查找/查找和替换...(或按⌥⌘F)。
打开右侧的下拉列表,选择正则表达式。
对于搜索词,输入以下正则表达式:
颜色键=(.*) 名称=.*要替换,请输入:
颜色键=$1 red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>这个正则表达式本质上是用(.*)捕获color属性的键,然后用$1再次插入它。
请记住,此示例将颜色替换为白色。通过提供不同的 RGB 值来更改颜色。
通过导航到第一步中提到的右键菜单中的Open As/Interface Builder - Storyboard切换回Interface Builder。
【讨论】:
对于 cordova 项目,我修复了更新 config.xml 来自
<preference name="deployment-target" value="10" />
到
<preference name="deployment-target" value="12" />
【讨论】:
如果您想获得命名颜色的准确浮点值,然后执行查找/替换,以便您可以快速“全部替换”而不是编辑每种颜色。只需在情节提要中搜索“namedColor”,您就会找到通常出现的颜色,例如。
<namedColor name="Grey Background">
<color red="0.92941176470588238" green="0.93333333333333335" blue="0.94117647058823528" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
然后用搜索词进行查找/替换:
name="Grey Background"/>
并将以下内容复制粘贴到查找/替换的“With”部分:
red="0.92941176470588238" green="0.93333333333333335" blue="0.94117647058823528" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
然后点击“全部替换”。不要忘记在搜索词和替换文本的末尾添加“/>”,因为这将确保故事板文档底部的“namedColor”部分中的名称不会被替换。
这应该会替换故事板中与确切名称匹配的所有颜色。现在只需右键单击情节提要并再次在界面生成器中打开,文件将重新编译,所有颜色看起来仍应相同。
注意事项:
希望这会有所帮助!
ಠ‿ಠ
【讨论】:
只需在 Target 和 Project 的 Build Settings 中将最小 Deployment Target 设置为 11.0 或更高。它会解决这个问题。
【讨论】: