gpt4 book ai didi

swift - NSOutlineView 中行的背景颜色

转载 作者:搜寻专家 更新时间:2023-10-31 22:30:19 26 4
gpt4 key购买 nike

如何为 NSOutlineView 中的 1 个特定行设置背景颜色?我试过这个但没有运气:

func outlineView(_ outlineView: NSOutlineView, rowViewForItem item: Any) -> NSTableRowView? {
let newRow = NSTableRowView()
newRow.backgroundColor = NSColor.red
return newRow
}

最佳答案

您需要的是 outlineView(didAdd:forRow)。您的代码如下所示:

func outlineView(_ outlineView: NSOutlineView, didAdd rowView: NSTableRowView, forRow row: Int) {
rowView.backgroundColor = .red
}

请注意,与大多数其他 outlineView 委托(delegate)方法不同,outlineView(didAdd:forRow) 为您提供行索引而不是 item。您可以通过调用 outlineView.item(atRow: row) 来获取项目。

您的代码不起作用的原因是 outlineView(rowViewForItem:) 在应用任何样式之前创建了 NSTableRowView。您应用的样式被覆盖 outlineView 并应用其自己的样式。该方法旨在用于子类化 NSTableRowView

关于swift - NSOutlineView 中行的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39732641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com