自定义NSTableViewCell

时间:2012-07-22 11:09:47

标签: cocoa nstableview nstableviewcell

我自定义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中一样做自定义。 问题是左边和右边都有一条线,如: enter image description here

我尝试更改单元格视图的框架,似乎没用。 由于这是在iOS中自定义单元格的正确方法,我想知道Cocoa中哪里出错了。

任何人都可以帮助我吗? 感谢。

2 个答案:

答案 0 :(得分:4)

最后,我发现可以在笔尖中设置Cell Space

答案 1 :(得分:0)

在iOS中:

Tableviewcells与Tableview相同。他们是自动化的。如果在cellForRowAtIndexPath:方法中为单元格设置框架,则不进行任何更改。

对于宽度,您需要更改tableview的宽度。 对于高度,您需要实现tableview的委托方法heightForRowAtIndexPath:或设置rowHeight属性。

但我不知道NSTableView是怎么回事,我觉得它很相似。