在NSTableView上结束编辑(基于视图)

时间:2014-03-13 15:42:34

标签: macos cocoa nstableview

当用户在桌面视图上编辑文本字段的中间位置并决定单击该窗口的关闭按钮时,他/她所做的更改不会被保存。如何强制使用tableview(基于视图)来结束编辑(不是中止编辑)?

1 个答案:

答案 0 :(得分:1)

最简单的方法是为您的窗口分配一个委托,并回复NSWindow的{​​{3}}委托方法。在其中,调用-windowShouldClose:使窗口本身成为第一个响应者,并注意它给出的BOOL答案。您应该返回任何-makeFirstResponder:个答案作为委托...ShouldClose:消息的答案,因为它可能无法结束编辑/辞职第一响应者。假设它成功了,它将结束编辑并触发你在实际关闭之前设置的任何动作/绑定机制。这是有效的,因为NSTableView及其在基于视图的模式中使用的视图是NSControl的子类,并通过结束编辑等自动处理响应者状态更改。希望这会有所帮助。