NSTableView在单击时触发另一个操作

时间:2011-06-17 19:22:38

标签: objective-c cocoa interface-builder nstextfield

在学习objective-c时,我制作了一个基本的mac购物清单应用程序,其中包含3个界面元素:NSTextFieldNSButtonNSTableView。基本思路是在文本字段中键入内容,点击添加按钮(或点击返回),然后将其添加到表格视图中。一切都按预期工作,直到我点击表格视图,此时它将文本字段的当前内容添加到表格视图。

我唯一的操作是addItem,它将文本字段的stringValue添加到NSTableView的数据源NSMutableArray。我将其设置为仅由按钮和文本字段触发,而不是NSTableView。当我从NSTextField删除操作时,问题就会停止。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

当用户在失去焦点时点击 Enter 时,NSTextField都会触发其动作。当您点击NSTableView时,NSTextField会失去焦点,因此会调用其操作。

如果您只希望它在 Enter 上发送操作,则NSTextField的属性选项卡中有一个标记为“操作”的弹出按钮,您可以将其设置为“已发送”在仅输入“。