2011-06-08 83 views
1

我想在代碼中創建tableview,而不是IB,但不會顯示。這裏是我的代碼:以編程方式創建的NSTableView不顯示

- (void)createTableView{ 
    _tableView = [[NSTableView alloc]initWithFrame:NSMakeRect(0, 0, 700, 300)]; 
    [_tableView setBackgroundColor:[NSColor cyanColor]]; 
    [_tableView setDelegate:self]; 
    [_tableView setDataSource:self]; 
    [self addSubview:_tableView]; 
} 

- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView{ 
    return 10; 
} 

- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{ 
    NSButtonCell *cell = [[[NSButtonCell alloc] init] autorelease]; 
    [cell setAllowsMixedState:YES]; 
    [(NSButtonCell *)cell setButtonType:NSSwitchButton]; 
    [cell setTitle:@"Test"]; 

    return cell; 
} 

當我調試,我看它不運行objectValueForTableColumn:。 我不知道爲什麼。

回答

3

您還沒有向表格視圖添加任何表格列。爲此,請使用-[NSTableView addTableColumn:]

此外,我不確定您期望通過返回單元格作爲行&列的對象。該方法應該返回適​​合由該行的&列中的單元格顯示的對象。

+0

它的工作原理。感謝您的幫助。 – user718408 2011-06-08 04:16:03