【问题标题】:NSTableView triggering another action when clickedNSTableView 在点击时触发另一个动作
【发布时间】:2011-06-17 19:22:38
【问题描述】:

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

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

【问题讨论】:

  • 你是如何设置动作的?通过 Ctrl 键从文本字段拖动到实现 addItem 的对象?
  • 问题已得到解答,但作为参考,我尝试了通过 ctrl 拖动文本字段和编程方式,如this 答案。两者的效果相同。

标签: objective-c cocoa interface-builder nstextfield


【解决方案1】:

NSTextField 在用户点击Enter 失去焦点时都会触发其操作。当你点击NSTableView 时,NSTextField 失去焦点,所以它调用它的动作。

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

【讨论】:

    猜你喜欢
    • 2016-02-18
    • 2017-04-08
    • 1970-01-01
    • 2023-01-25
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多