簡體   English   中英

設置子類NSTableCellView的邊框

[英]Set the border of a subclassed NSTableCellView

如這篇文章的標題中所述,我想設置在基於視圖的NSTableView使用的子類NSTableCellView的邊框(顏色和寬度)。 我嘗試了以下

self.layer.borderColor = [[NSColor greenColor] CGColor];
self.layer.borderWidth = 3.0;

我將代碼放在initWithCoderawakeFromNib但沒有得到期望的結果。 drawRect -Method中可以更改backgroundColor 有人可以指出我正確的方向嗎?

謝謝

編輯

這是我使用NSFrameRect解決方案

- (void)drawRect:(NSRect)dirtyRect
{
    [NSGraphicsContext saveGraphicsState];

    [[NSColor lightGrayColor]set];
    NSFrameRect([self bounds]);

    [NSGraphicsContext restoreGraphicsState];
}

默認情況下,OS X上的視圖不分層支持。 您首先需要setWantsLayer:是

但是,如果您使用的是drawRect:您可以只使用NSFrameRect()或類似函數之一,或者在單元格視圖子類中使用NSBezierPath進行繪制。 但是,請記住,通常行視圖在基於視圖的表中進行背景繪制。

聽起來您還需要學習一些有關可可繪制的知識。

暫無
暫無

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

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