NSTextField 文本的系统颜色是啥?

Posted

技术标签:

【中文标题】NSTextField 文本的系统颜色是啥?【英文标题】:What is the system color of a NSTextField's text?NSTextField 文本的系统颜色是什么? 【发布时间】:2016-01-24 09:34:15 【问题描述】:

我操纵NSTextField 的文本颜色。由于这些单元格可以重复使用,我必须在tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int)-Method 中将颜色重置为默认值。

如何通过 Swift 源代码获得 NSTextField-control 的默认文本颜色?

我知道它应该是黑色的,但我不想“猜测”要更新的颜色,用户交互安全。

我寻找了NSTextField.defaultColor 属性或NSColor.defaultTextFieldColor(),但没有找到任何有用的解决方案。我在 Apple 官方类参考中也找不到任何相关内容。

【问题讨论】:

让 tf = NSTextField(); let defaultTextColor = tf.textColor 稍后在您的代码中将此值用作默认值。因为 .textColor 是可选的 NSColor?你可以将它设置为 nil(我猜,Cocoa 会使用默认的) 【参考方案1】:

如果您的目标是 10.10 或更高版本,请使用 NSColor.labelColor()。如果您针对的是早期版本的操作系统,请使用NSColor.controlTextColor()

【讨论】:

以上是关于NSTextField 文本的系统颜色是啥?的主要内容,如果未能解决你的问题,请参考以下文章

NSTextField:公开其复制和粘贴方法

NSTextField(标签)属性文本:选择

NSTextField insertText 方法已被弃用,替代品是啥?

禁用文本的系统颜色是啥?

如何在可可的 nstextfield 上设置字体和颜色?

NSTextField,在 Swift 中更改文本