在iOS中,我們?cè)O(shè)置UIView的背景色十分的簡(jiǎn)單,只需要設(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;
但是運(yùn)行的時(shí)候會(huì)發(fā)現(xiàn),colorView其實(shí)顏色并沒有改變,是因?yàn)椋贠S X中我們還需要調(diào)用
[colorView setNeedsDisplay:YES];
這樣,我們的colorView就變成紅色了。
完整代碼如下:
NSView *colorView = [[NSView alloc] init];
colorView.layer.backgroundColor = [NSColor redColor].CGColor;
[colorView setNeedsDisplay:YES];