我自定义NSTableView就像我在UITableView中所做的那样。我实现了数据源和委托。在代码中,我喜欢这样:
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
ZJCellView *cellView = [tableView makeViewWithIdentifier:cellIdentifier owner:self];
//this is a custom view
if (cellView == nil)
{
CGRect rect = CGRectMake(0, 0, tableView.frame.size.width, kTableViewCellHeight);
cellView = [[[ZJCellView alloc] initWithFrame:NSRectFromCGRect(rect)] autorelease];
cellView.identifier = cellIdentifier;
// some other controls
}
return cellView;
我像在iOS中一样做自定义。 问题是左边和右边都有一条线,如:
我尝试更改单元格视图的框架,似乎没用。 由于这是在iOS中自定义单元格的正确方法,我想知道Cocoa中哪里出错了。
任何人都可以帮助我吗? 感谢。
答案 0 :(得分:4)
最后,我发现可以在笔尖中设置Cell Space
。
答案 1 :(得分:0)
在iOS中:
Tableviewcells与Tableview相同。他们是自动化的。如果在cellForRowAtIndexPath:方法中为单元格设置框架,则不进行任何更改。
对于宽度,您需要更改tableview的宽度。 对于高度,您需要实现tableview的委托方法heightForRowAtIndexPath:或设置rowHeight属性。
但我不知道NSTableView是怎么回事,我觉得它很相似。