2012-08-07 42 views

回答

5

您沒有指定是否在談論AppKit(OSX)或UIKit(iOS)。我會說你在談論AppKit,因爲大多數來自UIKit的人都會遇到這種情況。

NSView本身不繪製背景或背景顏色。你必須子類化NSView,並在drawRect中繪製自己的顏色,或者使用AppKit中提供的繪製背景的NSBox。

如果子類的NSView,那麼你的drawRect方法可能如下:

- (void) drawRect:(NSRect)dirtyRect { 
    [[NSColor blackColor] setFill]; 
    NSRectFill(dirtyRect); 
} 

如果你決定使用NSBox,那麼你可以設置背景顏色是這樣的:

[myBox setFillColor:[NSColor blackColor]]; 
+0

止跌」當重寫'-drawRect:'時,你想調用'super'嗎? – jrtc27 2012-09-11 06:57:03

+0

否在NSView中沒有默認實現。該方法適用於子類。 – 2012-09-12 07:07:02

+1

好的。我主要處理UIKit和基金會,所以這是有點尖叫着我:) – jrtc27 2012-09-12 09:34:23

相關問題