当我的用户界面处于某种状态时,我刚刚注意到一个问题。我有一个包含两列的表格视图,用户可以在这两列中输入以后要使用的数据。还有一个按钮作用于表格视图的内容。
问题是,如果用户在列中输入了新数据,但尚未使用 Tab 键或返回键退出该字段(即光标仍在该字段中并处于编辑模式)并且按下按钮是旧值不使用字段中的当前值。
处理这个问题的最佳方法是什么?我想使用用户迄今为止输入的任何内容。
基本上,按钮代码需要告诉文本字段完成完成或退出编辑模式。但我似乎找不到可以做到这一点的方法。
当我的用户界面处于某种状态时,我刚刚注意到一个问题。我有一个包含两列的表格视图,用户可以在这两列中输入以后要使用的数据。还有一个按钮作用于表格视图的内容。
问题是,如果用户在列中输入了新数据,但尚未使用 Tab 键或返回键退出该字段(即光标仍在该字段中并处于编辑模式)并且按下按钮是旧值不使用字段中的当前值。
处理这个问题的最佳方法是什么?我想使用用户迄今为止输入的任何内容。
基本上,按钮代码需要告诉文本字段完成完成或退出编辑模式。但我似乎找不到可以做到这一点的方法。
使用绑定。在 Interface Builder 中,选择表格列,然后在 Inspector 中转到 Table Column Bindings 并适当地设置 Value 内容绑定,并确保选中“Continuously Updates Values”选项。然后对表格单元格内容的更改将立即传播。
找到了答案,至少对我来说。
查明是否选择了一行,如果是则取消选择它。这会导致当前条目完成。
- (void) completeTableEntry
{
// If a column is selected ensure it is completed
NSInteger sr = [keyValueTable selectedRow];
if (sr != -1) {
[keyValueTable deselectRow:sr];
}
}
怎么样:
[theTargetWindowWhateverThatIs endEditingFor:nil];
theTargetWindowWhateverThatIs
例如,self.window
如果您在NSWindowController
.