1

当我的用户界面处于某种状态时,我刚刚注意到一个问题。我有一个包含两列的表格视图,用户可以在这两列中输入以后要使用的数据。还有一个按钮作用于表格视图的内容。

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

处理这个问题的最佳方法是什么?我想使用用户迄今为止输入的任何内容。

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

4

3 回答 3

2

使用绑定。在 Interface Builder 中,选择表格列,然后在 Inspector 中转到 Table Column Bindings 并适当地设置 Value 内容绑定,并确保选中“Continuously Updates Values”选项。然后对表格单元格内容的更改将立即传播。

于 2010-12-04T10:54:57.427 回答
0

找到了答案,至少对我来说。

查明是否选择了一行,如果是则取消选择它。这会导致当前条目完成。

- (void) completeTableEntry 
{
    // If a column is selected ensure it is completed
    NSInteger sr = [keyValueTable selectedRow];
    if (sr != -1) {
        [keyValueTable deselectRow:sr];
    }
}
于 2010-10-18T21:12:26.300 回答
0

怎么样:

[theTargetWindowWhateverThatIs endEditingFor:nil];

theTargetWindowWhateverThatIs例如,self.window如果您在NSWindowController.

于 2012-12-31T14:07:35.590 回答