我有一个NSTableView正常工作,除了当我编辑其中一个表项时。如果用户仍然处于编辑模式,并且它按下“表单确定”按钮,则表格不会更新。NSTableView正确处理edititng单元格
如何在用户按下ok按钮(closesheet)时强制tableview提交更改。
另外,如何处理ESC键以取消编辑?
对不起,如果问题看起来很荒谬,但我一直只在Mac上开发一个月。
我有一个NSTableView正常工作,除了当我编辑其中一个表项时。如果用户仍然处于编辑模式,并且它按下“表单确定”按钮,则表格不会更新。NSTableView正确处理edititng单元格
如何在用户按下ok按钮(closesheet)时强制tableview提交更改。
另外,如何处理ESC键以取消编辑?
对不起,如果问题看起来很荒谬,但我一直只在Mac上开发一个月。
您应该可以致电[sheet makeFirstResponder:sheet]
,其中sheet
是您即将关闭的工作表。这会将第一个响应者状态从文本字段中切换出来,这会导致它提交正在进行的编辑。
似乎有不同的解决方案。如果使用绑定将编辑表的NSTextField连接到ArrayController,则可以在Interface Builder中的TextFields值绑定中检查“连续更新值”。
其他解决方案在Red Sweater博客的这篇博客中很好地解释:http://www.red-sweater.com/blog/229/stay-responsive