如何將分隔符編程爲NSView
?我曾經嘗試這樣做:以編程方式放置分隔符
NSView *right = [[NSView alloc] initWithFrame:CGRectMake(319, 0, 1, self.view.frame.size.height)];
[self.view addSubView:right];
,但它不能正常工作,請建議什麼是錯的這個片段或是否有另一種方式做到這一點
如何將分隔符編程爲NSView
?我曾經嘗試這樣做:以編程方式放置分隔符
NSView *right = [[NSView alloc] initWithFrame:CGRectMake(319, 0, 1, self.view.frame.size.height)];
[self.view addSubView:right];
,但它不能正常工作,請建議什麼是錯的這個片段或是否有另一種方式做到這一點
NSView *right = [[NSView alloc] initWithFrame:CGRectMake(319, 0, 1, self.view.frame.size.height)];
[right.layer setBackgroundColor:[NSColor blackColor].CGColor];
[self.view addSubView:right];
我想那是因爲你已經添加right
但你看不到它。嘗試設置背景顏色。
我們可以爲IOS設置背景顏色,但如何設置爲MAC OS,這是問題,謝謝你的回答 –
對不起,我不熟悉Mac OS,但也許你可以嘗試設置視圖的圖層背景顏色。 PRSingh – johnMa
您有兩個選擇:
1)爲self.view對象創建自己的NSView子類。然後在子類中定義的drawRect方法繪製分隔符:
- (void)drawRect:(NSRect)r {
[[NSColor blackColor] set];
NSRectFill(NSMakeRect(319., 0, 1., self.view.bounds.size.height));
}
2)另外,也可以使具有backgroundColor屬性自定義的NSView子類。然後創建在子類的NSView一個drawRect中填寫與顏色在整個視圖:
- (void)drawRect:(NSRect)r {
[self.backgroundColor set];
NSRectFill(r);
}
檢查中的NSLog(),即self.view.frame是不是在那一刻,你的空[R createnif右視圖 – alex
我得到值亞歷克斯 –