簡體   English   中英

如何為NSTableCellView設置背景顏色?

[英]How to set a background color for NSTableCellView?

我在我的筆尖中創建了一個NSTableCellView,它有textField占據整個空間,它非常適合顯示文本和跟蹤列的大小。

現在我希望能夠在特定情況下(即不是所有單元格)為它設置純色背景顏色。 我該怎么做呢?

我認為這就像這個問題 ,除了解決方案沒有為我做任何事情,我也無法想出任何接近它的東西。

我試過制作我的-tableView:viewForTableColumn:row: method ...

  • 設置cellview.layer.backgroundColor
  • 設置cellview.wantsLayer = YES(並確認有一個圖層)
  • set cellview.layer.opaque = YES,cellview.layer.opacity = 1.0
  • 設置cellview.textField.backgroundColor
  • set cellview.textField.drawsBackground = YES
  • 在nib中,對於Table Cell View的文本字段,選中“Draws Background”,然后設置Background彈出窗口(對於所有表格單元格來說都是永久性的,不僅僅是我想要的--tableView:viewForTableColumn:row:,但是如果這個工作,它會告訴我,至少這里的東西能夠繪制背景)

由於我的文本占用整個單元格視圖,因此能夠在textField或整個單元格視圖上設置它都沒問題。

這似乎應該是一個簡單的設置,但沒有任何作用。 我是否需要將NSTableCellView子類化為具有背景顏色?

我建議創建一個NSTableCellView的子類。 它有助於創建可重復使用的組件(您甚至可以添加漸變以使其看起來不同)並分離責任。 您可以使用此簡單代碼並更改NSTableCellView中的類。

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

    [[NSColor redColor] set];

        NSRectFill(bounds);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM