gpt4 book ai didi

xcode - NSTableCellView 设置可编辑

转载 作者:行者123 更新时间:2023-12-03 17:11:11 25 4
gpt4 key购买 nike

我正在使用菜单项将列文本字段设置为可编辑。这就是我尝试过的,但根本没有响应(没有文本变为可编辑)。 (我已经登录,并且调用了该方法,并且文本字段不为空。)

- (IBAction)setEditable:(id)sender
{
NSInteger selectedRow = [_tableView selectedRow];
NSInteger selectedColumn = [_tableView selectedColumn];

NSTableCellView *selectedCell = [_tableView viewAtColumn:selectedColumn row:selectedRow makeIfNecessary:NO];

[selectedCell.textField setEditable:YES];
}

这是否必须以其他方式完成?文本字段在 IB 中也设置为可编辑,因此可以通过双击它来工作,但我也希望在上下文菜单中使用该选项。

最佳答案

如果可以编辑文本字段,即给予其焦点,则该文本字段是“可编辑的”。 -setEditable: 不会启动编辑,这似乎是您的想法,因为您希望上述代码执行与双击该字段相同的操作。它只是在文本字段上设置一个标志来控制文本字段允许执行的操作。您可以使用 -isEditable 检查该标志。

如果您想开始编辑,您应该使用以下方法将文本字段设为窗口的第一响应者:

if ([selectedCell.textField acceptsFirstResponder])
[_tableView.window makeFirstResponder:selectedCell.textField];

如果当窗口不是关键时可能会调用您的操作方法,您可能还需要首先执行[_tableView.window makeKeyAndOrderFront:self]

关于xcode - NSTableCellView 设置可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27135936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com