2010-10-18 55 views
1

我刚刚注意到当我的用户界面处于特定状态时出现问题。我有一个两列的表格视图,用户可以输入稍后使用的数据。还有一个按钮,它对表格视图的内容起作用。如何强制从NSButton在NSTextField中完成输入

问题是,如果用户在列中输入了新数据但尚未使用Tab键或返回键退出该字段(即光标仍处于字段和编辑模式中)并且按钮是按下旧值不是用于坐在现场的当前值。

处理这个问题的最好方法是什么?我想要使​​用用户输入的任何内容。

基本上,按钮代码需要告诉文本字段完成或退出编辑模式。但我似乎无法找到一种方法可以做到这一点。

回答

0

找到答案,至少对我而言。

找出是否选择了一行,如果是,取消选择它。这导致当前条目完成。

- (void) completeTableEntry 
{ 
    // If a column is selected ensure it is completed 
    NSInteger sr = [keyValueTable selectedRow]; 
    if (sr != -1) { 
     [keyValueTable deselectRow:sr]; 
    } 
} 
+0

我讨厌装订,就像看黑洞一样。 – tgunr 2011-05-11 06:39:53

2

使用绑定。在Interface Builder中,选择表列,然后在Inspector中转到表列绑定并适当地设置值内容绑定,并确保选中“连续更新值”选项。然后,更改表格单元格内容将立即传播。

0

如何:

[theTargetWindowWhateverThatIs endEditingFor:nil]; 

theTargetWindowWhateverThatIs可能,例如,self.window如果你是一个NSWindowController内。

相关问题