無處不在互聯網上我可以讀取改變的NSView的背景顏色,你可以只覆蓋其方法的drawRect這樣的:drawRect是否真的改變了NSView的背景顏色?
- (void)drawRect:(NSRect)rect
{
[[NSColor yellowColor] set];
NSRectFill(rect);
}
例如here。
但是,在我的情況下,顏色繪製在視圖頂部(我不能再看到內容),這對我來說很合乎邏輯。 DrawRect應該繪製視圖,而不僅僅是背景。
我錯過了什麼?
當然,假設有一個超類(即,帕特里克沒有直接子類NSView,而是子類化了NSView的其他子類)。 – 2013-02-14 22:08:49
如果他直接對「NSView」進行分類,他不會首先觀察到內容消失的問題。 – omz 2013-02-15 01:00:32
Docu說:「默認實現什麼也不做,子類應該重寫這個方法,如果他們做了自定義繪製的話。[...]如果你的自定義視圖是一個直接的NSView子類,你不需要調用super,對於所有其他視圖,在你的實現中的某個地方調用super,以便父類可以執行任何額外的繪圖。「 – Flori 2014-09-20 21:21:09