为什么我的标题可选,单元格不可编辑

时间:2013-10-10 15:34:01

标签: objective-c cocoa data-binding nsoutlineview

我有两个与NSOutlineView相关的问题:

  1. 为什么我的标题可以选择,即使我告诉它它是一个组(否则它将没有右侧的“隐藏”:

    enter image description here

    // I am telling the view that the given item is a group by implementing
    -(BOOL)outlineView:(NSOutlineView *)outlineView isGroupItem:(id)item;
    
  2. 我正在使用基于视图的大纲,因此我无法按Enter或单击某个叶子进行编辑。有一种简单的方法(使用默认的基于视图的设置,以实现此功能)。

    请注意,我尝试通过绑定到给定列上的editable来实现此目的。但这种方法从未被调用过。

1 个答案:

答案 0 :(得分:0)

至少我能够回答我自己问题的第一部分。

我必须implement这样的方法才能使标题无法选择:

- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item{
    // Add your own logic here to determine whether a cell should be selectable 
    return ![self isHeader:item];
}

我创建了一个小示例项目,执行以下操作。

  • 显示项目列表
  • 以主从式方式编辑项目
  • 删除和添加项目
  • 绑定的用法

在github上查看besi/mac-quickies。 大部分内容可以在IB中完成,也可以在AppDelegate

中找到

screenshot