这是 Xcode 11 和 IOS 11 中的错误。 IOS 11 中命名颜色的两个问题
UIColorinit 方法在 IOS 11 中init?(named name: String)返回nil这是暂时的解决方法,直到它在即将发布的 Xcode 版本中得到修复。
如果UIColorinit 方法init?(named name: String)返回,nil您需要为灯光模式提供后备颜色。
let color = UIColor(named: "myColor") ?? UIColor.black // default color for IOS 11
Run Code Online (Sandbox Code Playgroud)故事板和 xib 文件的命名颜色问题,如果您在设置任何名称颜色后观察 xib 文件或故事板中的变化,您会注意到选项卡namedColor下有一个xml 标签resources。对于每个namedColor都有后备颜色,该后备颜色在 IOS 11 情况下是因为命名颜色不起作用。您甚至可以在控制台中看到警告。
<resources>
<namedColor name="NavigationBar">
<color red="0.2669999897480011" green="0.70999997854232788" blue="0.046999998390674591" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
</resources>
Run Code Online (Sandbox Code Playgroud)
错误在Xcode 11,如果你的设置为暗模式版本的缺省值MacOS外观设置为Dark它挑选light,如果你的颜色版本的默认值MacOS外观设置为Light。针对 IOS 11 解决此问题的解决方法。
MacOS外观设置为Light。之后,您需要打开项目中的每个故事板或 xib 文件一次。打开它后,编辑器将自动选择Light您的颜色版本,您可以在源代码管理中看到该文件已被修改,默认值将是Light您的颜色资产的版本。请注意,每次更改颜色资产中的任何值时,您都必须对使用该命名颜色的所有 xib 文件再次执行此操作。| 归档时间: |
|
| 查看次数: |
4024 次 |
| 最近记录: |