【发布时间】:2013-11-26 00:43:09
【问题描述】:
我的设置是
我有一个包含一个 NSpanel 和一个 NSOutlineView 的 nib 文件。
大纲视图是通过绑定和 NSTreeController 填充的,我有 NSOutlineView 的子类,其中我有一些委托和拖放方法。
我的问题
我正在尝试实现委托方法
- (void)textDidEndEditing:(NSNotification *)aNotification
我可以编辑 NSOutlineview 中的任何项目,一旦我点击“返回”,就会调用委托方法,但是窗口不再处于活动状态。并且该项目处于“编辑模式”我必须单击已编辑项目上方或下方的项目才能终止编辑模式。我附上了几张图片来说明
目前,除了 NSlog 之外,我在 textdidendediting 中没有任何内容来查看它是否被调用。如果我按预期删除它执行的方法,则编辑完成,窗口仍处于活动状态。
编辑项目
一旦我点击“返回”,窗口就会失去焦点并且项目仍处于编辑模式。
【问题讨论】:
-
您是否尝试调用 -[super textDidEndEditing:]?
-
@KenAspeslagh 做到了!如果您将评论更改为我会接受的答案,我也希望您能快速解释一下为什么在这种情况下您必须调用 super。谢谢
标签: objective-c cocoa nsoutlineview