2011-06-17 41 views
2

在学习objective-c时,我制作了一个基本的Mac购物列表应用程序,它具有3个界面元素:NSTextField,NSButtonNSTableView。基本思想是你在文本字段中输入内容,点击添加按钮(或者按回车键),然后将它添加到表格视图中。一切都按预期工作,直到我点击表格视图时,它将当前添加到文本字段的表格视图添加到表格视图中。NSTableView点击时触发另一个动作

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

+0

你究竟是如何设定行动的?通过Ctrl-从文本字段拖动到实现addItem的对象? – puzzle

+0

这个问题得到了回答,但作为参考,我试图通过按住Ctrl拖动文本字段和编程方式[在这[] http://stackoverflow.com/questions/995758/execute-an-action-when-the-输入键被按下 - 在 - 一个字段/ 996694#996694)答案。两者都有同样的效果。 –

回答

3

NSTextField激发其作用既当用户点击输入关键当它失去焦点。当您点击NSTableView时,NSTextField失去焦点,因此它会调用它的操作。

如果你只希望它发送它的行动输入,有一个弹出按钮,在NSTextField的属性标记为‘行动’,你可以设置选项卡‘已发送上只输入’。

+0

谢谢!这工作完美。 –

相关问题