gpt4 book ai didi

xcode - NSOutlineView:如何将特定单元格置于编辑模式? (editColumn 方法未按预期工作)

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

我有一个NSOutlineView。当我编辑其中的单元格并按回车键时,我希望其正下方的单元格立即进入编辑模式。

我想我应该使用 controlTextDidEndEditing: 委托(delegate)方法来查找单元格编辑何时完成,并使用 editColumn:row:withEvent:select: 方法将其下方的单元格置于编辑模式。

这是我粘贴到 Apple 演示代码项目“DragNDropOutlineView”的“appcontroller.m”中的演示方法:

- (void)controlTextDidEndEditing:(NSNotification *)aNotification
{
NSTreeNode* treeNodeJustEdited;
NSInteger indexOfCurrentRow = [outlineView selectedRow];
if (indexOfCurrentRow < 0) //no row selected
return;

treeNodeJustEdited = [outlineView itemAtRow:indexOfCurrentRow];
NSTreeNode* theRootNode = rootTreeNode;
NSInteger numberOfChildren = [[theRootNode mutableChildNodes]count];
NSInteger indexOfLastChild = numberOfChildren - 1;

if (indexOfCurrentRow < indexOfLastChild)
{
[outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:indexOfCurrentRow+1] byExtendingSelection:NO];
[outlineView editColumn:0 row: indexOfCurrentRow+1 withEvent:nil select:NO];
}
}

出于某种原因,这会执行以下操作:

  • 正确突出显示单元格下方的行刚刚编辑。但随后:
  • 禁用该功能突出显示,即将其置于光线下灰色
  • 使单元格位于单元格下方刚刚编辑,看不见。点击该单元格上两次返回表格恢复正常。

为了让此方法按预期执行,我缺少什么?

最佳答案

这是另一个问题,与你的问题类似

希望有帮助。

NSTableView & NSOutlineView editing on tab key

关于xcode - NSOutlineView:如何将特定单元格置于编辑模式? (editColumn 方法未按预期工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6574497/

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