【问题标题】:Invalid color System, labelColor (warning given only once)无效的颜色系统,labelColor(警告只给出一次)
【发布时间】:2015-02-14 22:43:36
【问题描述】:

在 nib 加载时,我在 OS X 10.9 控制台上收到以下警告 (NSWindowController)。

Invalid color System, labelColor (warning given only once)

我正在使用 Xcode 6 和 OS X 10.10 来编译我的代码。这个警告很可能是因为NSColor exposes new system colors in 10.10 for static text and related elements: labelColor, secondaryLabelColor, tertiaryLabelColor, and quaternaryLabelColor

如何解决这个警告?

【问题讨论】:

  • 是在 10.9 下执行应用程序时在日志中显示此警告,还是在 10.9 环境中在 Xcode 中打开项目时显示此警告?
  • 当我在 10.9 上执行时

标签: objective-c cocoa xib nstextfield nstextfieldcell


【解决方案1】:

在 xib 文件中更改文本字段的颜色:

<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>

到:

<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>

由于“labelColor”在 OSX 10.9 中不是正式的颜色名称。

【讨论】:

  • 这是一个很好的解决方法,但我鼓励大家为此提交雷达文件。 Xcode 似乎忽略了最小目标,因此破坏了 XIB。我们不需要预检脚本来编辑明显的格式错误。
【解决方案2】:

警告用于通知您颜色在 10.9(或更低版本)中不可用。您可以简单地检查操作系统版本(使用 AppKit 常量NSAppKitVersionNumber)并根据版本正确处理颜色。

好书:Apple Developer Guide on SDK Compatibility

【讨论】:

  • 当我加载 xib 时出现此警告,在加载之前我无法访问 xib 的任何属性/对象。
猜你喜欢
  • 1970-01-01
  • 2012-08-10
  • 2022-12-09
  • 1970-01-01
  • 2019-07-07
  • 1970-01-01
  • 2012-09-01
  • 1970-01-01
相关资源
最近更新 更多