在学习objective-c时,我制作了一个基本的mac购物清单应用程序,其中包含3个界面元素:NSTextField
,NSButton
和NSTableView
。基本思路是在文本字段中键入内容,点击添加按钮(或点击返回),然后将其添加到表格视图中。一切都按预期工作,直到我点击表格视图,此时它将文本字段的当前内容添加到表格视图。
我唯一的操作是addItem
,它将文本字段的stringValue
添加到NSTableView
的数据源NSMutableArray
。我将其设置为仅由按钮和文本字段触发,而不是NSTableView
。当我从NSTextField
删除操作时,问题就会停止。有什么建议吗?
答案 0 :(得分:3)
当用户在失去焦点时点击 Enter 键和时,NSTextField
都会触发其动作。当您点击NSTableView
时,NSTextField
会失去焦点,因此会调用其操作。
如果您只希望它在 Enter 上发送操作,则NSTextField
的属性选项卡中有一个标记为“操作”的弹出按钮,您可以将其设置为“已发送”在仅输入“。