在iOS中,我們設(shè)置UIView的背景色十分的簡單遏匆,只需要設(shè)置UIView
的backgroundColor
即可:
UIView *colorView = [[UIView alloc] init];
colorView.backgroundColor = [UIColor redColor];
但是在OS X中NSView
沒有backgroundColor
屬性痪署,NSView
中的backgroundColor
屬性在layer
屬性之中码泞,所以要設(shè)置NSView
的背景色,我們需要這樣寫:
NSView *colorView = [[NSView alloc] init];
// 這里的backgroundColor屬性的類型是CGColorRef狼犯,所以我們需要轉(zhuǎn)換一下
colorView.layer.backgroundColor = [NSColor redColor].CGColor;
但是運行的時候會發(fā)現(xiàn)余寥,colorView
其實顏色并沒有改變,是因為悯森,在OS X中我們還需要調(diào)用
[colorView setNeedsDisplay:YES];
這樣宋舷,我們的colorView
就變成紅色了。
完整代碼如下:
NSView *colorView = [[NSView alloc] init];
colorView.layer.backgroundColor = [NSColor redColor].CGColor;
[colorView setNeedsDisplay:YES];