2014-01-17 44 views
0

如何將分隔符編程爲NSView?我曾經嘗試這樣做:以編程方式放置分隔符

NSView *right = [[NSView alloc] initWithFrame:CGRectMake(319, 0, 1, self.view.frame.size.height)]; 

[self.view addSubView:right]; 

,但它不能正常工作,請建議什麼是錯的這個片段或是否有另一種方式做到這一點

+0

檢查中的NSLog(),即self.view.frame是不是在那一刻,你的空[R createnif右視圖 – alex

+0

我得到值亞歷克斯 –

回答

0
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但你看不到它。嘗試設置背景顏色。

+0

我們可以爲IOS設置背景顏色,但如何設置爲MAC OS,這是問題,謝謝你的回答 –

+0

對不起,我不熟悉Mac OS,但也許你可以嘗試設置視圖的圖層背景顏色。 PRSingh – johnMa

0

您有兩個選擇:

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); 
} 
相關問題