gpt4 book ai didi

objective-c - 如何设置 NSTableCellView 的背景颜色?

转载 作者:行者123 更新时间:2023-12-03 16:57:21 24 4
gpt4 key购买 nike

我在我的 Nib 中创建了一个 NSTableCellView,它的 textField 占据了整个空间,它非常适合显示文本和跟踪列的大小。

现在我希望能够在特定情况下(即并非所有单元格)为其设置纯色背景色。我该怎么做?

我认为这就像 this question ,除了那里的解决方案对我没有任何作用,而且我也无法想出任何接近它的有效解决方案。

我尝试制作我的 -tableView:viewForTableColumn:row: 方法...

  • 设置cellview.layer.backgroundColor
  • 设置 cellview.wantsLayer=YES(并确认存在图层)
  • 设置 cellview.layer.opaque=YES 和 cellview.layer.opacity=1.0
  • 设置cellview.textField.backgroundColor
  • 设置 cellview.textField.drawsBackground=YES
  • 在 Nib 中,对于表格单元格 View 的文本字段,选中“绘制背景”,然后设置背景弹出窗口(这对于所有表格单元格都是永久的,而不仅仅是我想要的 -tableView:viewForTableColumn:row :,但如果这有效,它将向我证明至少某些东西能够绘制背景)

由于我的文本占据了整个单元格 View ,因此能够将其设置在文本字段或整个单元格 View 上就可以了。

这似乎应该是某个地方的简单设置,但没有任何作用。我是否需要继承 NSTableCellView 才能获得背景颜色?

最佳答案

我建议创建 NSTableCellView 的子类。它有助于创建可重用的组件(您甚至可以添加渐变以使其看起来不同)并分离职责。您可以使用这个简单的代码并更改 NSTableCellView 中的类。

- (void)drawRect:(NSRect)dirtyRect
{
NSRect bounds = [self bounds];

[[NSColor redColor] set];

NSRectFill(bounds);

}

关于objective-c - 如何设置 NSTableCellView 的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22648584/

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