NSTableView正确处理编辑单元格

时间:2010-01-23 14:13:50

标签: cocoa macos nstableview

除非我正在编辑其中一个表项,否则我的NSTableView工作正常。如果用户仍处于编辑模式,并且按下了“确定”按钮,则表格不会更新。

当用户按下ok按钮(closeheet)时,如何强制tableview提交更改。

另外,如何处理ESC键取消编辑?

很抱歉,如果问题看起来很荒谬,但我一直只在Mac上开发一个月。

2 个答案:

答案 0 :(得分:3)

您应该可以致电[sheet makeFirstResponder:sheet],其中sheet是您即将关闭的工作表。这将使第一响应者状态远离文本字段,这将导致它提交正在进行的编辑。

答案 1 :(得分:1)

我遇到了同样的问题:How to add data from an NSTextField to a Core Data Attribute without having to press Return or Tab after editing the TextField?

似乎有不同的解决方案。如果使用绑定将编辑表的NSTextField连接到ArrayController,则可以在Interface Builder中的TextFields值绑定中检查“连续更新值”。

其他解决方案在Red Sweater Blog的博文中得到了很好的解释:http://www.red-sweater.com/blog/229/stay-responsive