xcode – 如何反转所选NSTableView行的文本颜色

xcode – 如何反转所选NSTableView行的文本颜色,第1张

概述我有一个NSTableView,我在其中更改特定列中文本颜色,但是当选择一行时,文本不会更改为更合适的颜色,以便它可读. Finder的Date Modified,Size和Kind列具有灰色文本,当您选择文件/文件夹行时,灰色文本将变为白色(以便在蓝色突出显示中可读). 我无法在XCode上找到一个魔术复选框来默认启用此行为,所以是否有人知道如何实现相同的效果? 我在XCode 6.3中使用S 我有一个NStableVIEw,我在其中更改特定列中文本的颜色,但是当选择一行时,文本不会更改为更合适的颜色,以便它可读.

Finder的Date ModifIEd,Size和Kind列具有灰色文本,当您选择文件/文件夹行时,灰色文本将变为白色(以便在蓝色突出显示中可读).

我无法在XCode上找到一个魔术复选框来默认启用此行为,所以是否有人知道如何实现相同的效果?

我在XCode 6.3中使用Swift.

谢谢.

解决方法 您没有说明您为单元格使用的视图或视图层次结构.您也没有说明如何或在何处设置文本字段的颜色或具体颜色.

选择行时,该行会自动计算其interiorBackgroundStyle.如果它响应-setBackgroundStyle,它还设置单元格视图的backgroundStyle:或者是一个NSControl,其中一个单元格响应该单元格.

如果您的单元格视图是NStableCellVIEw的实例,它会将背景样式转发到符合相同条件的所有子视图.如果您使用不同的容器视图作为单元格视图,并且希望像这样转发背景样式,则必须在视图类中自己实现.

NSTextFIEld的单元格(NSTextFIEldCell)响应-setBackgroundStyle:因此上述机制自动设置其背景样式.如果textcolor是其中一种标准控件颜色(例如NScolor.controlTextcolor()),则文本字段单元格将自动将其文本颜色更改为白色,但如果指定非标准颜色,则不会这样做.因此,如果您要为文本设置特定颜色,则您有责任在背景样式更改时更改该颜色.

您可以使用NStableCellVIEw的子类,并为backgroundStyle属性添加属性observer(dIDSet).这可以根据设置的样式更改文本字段的textcolor.例如,如果背景样式不是.Dark,则可以使用自定义颜色,如果是.Dark,则使用普通文本字段颜色NScolor.controlTextcolor()(这样文本字段实际上将显示为白色).

您还可以使用NSTextFIEldCell的子类作为文本字段,并执行相同的 *** 作.或者覆盖drawInteriorWithFrame(_:inVIEw :)以根据背景样式使用不同的文本颜色进行绘制.

总结

以上是内存溢出为你收集整理的xcode – 如何反转所选NSTableView行的文本颜色全部内容,希望文章能够帮你解决xcode – 如何反转所选NSTableView行的文本颜色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104659.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存