NSTableView和UITableView很相似,只是多了一個tableColumn(列的屬性),但是缺少了分區(qū)section,大家可以看一下delegate和datesource的方法:
<pre>//返回行數(shù)
-(NSInteger) numberOfRowsInTableView:(NSTableView )tableView{
NSInteger rows;
//do something
return rows;
}
//每個單元內(nèi)的view
-(NSView)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn )tableColumn row:(NSInteger)row{
yourCustomCellView cell = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
//do something
//cell.XX=XX;
return cell;
}
行高
-(CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row{ CGFloat height;
//do something
return height;
}
是否可以選中單元格
-(BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)row{ BOOL shouldSelectRow;
//do something
return shouldSelectRow;
}
選中的響應(yīng)
-(void)tableViewSelectionDidChange:(nonnull NSNotification )notification{ NSTableView tableView = notification.object;
//do something
}</pre>
需要注意的是鳖悠,iOS都是base cell的榜掌,而OS的tableView有兩種選擇,一種是base cell乘综,一種是base view憎账,以上提供的方法是base view的,base cell暫時沒有研究卡辰。