【发布时间】:2013-10-05 16:50:40
【问题描述】:
我有一个使用 NSTreeController 的 Outlineview,在大多数情况下,一切都按照我的意愿运行,除了添加新项目时,我希望自动选择项目进行编辑。过去在使用 NSTableview 时,我会确定项目所在的行并使用该函数
- (void)editColumn:(NSInteger)columnIndex row:(NSInteger)rowIndex withEvent:(NSEvent *)theEvent select:(BOOL)flag
但是,由于 NSOutlineView 使用 NSindexPath,我正在为如何完成而苦苦挣扎 这个,那么是否有一个函数可以传递一个 NSIndexpath 而不是一行来实现相同的结果。或者我应该对 NSOutlineView 有不同的方法。
【问题讨论】:
-
您是否在界面生成器中将列设置为可编辑??
-
是的,我可以双击并编辑任何项目,这不是问题。我需要的是一种以编程方式启动它的方法。
-
您是否尝试过这种方法(即
editColumn:row:withEvent:select:),因为过去的经验似乎对我有用。 -
NSOutlineView 不使用 NSIndexPaths。它使用项目,这些项目应该是模型对象。项目应该是 NSTreeController 直接和间接管理的内容对象。
标签: cocoa cocoa-bindings nsoutlineview nstreecontroller