gpt4 book ai didi

objective-c - NSOutlineView,setFloatsGroupRows : not working

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

我知道它应该有效,我可以在示例项目中看到它,但在我的示例项目中,我无法强制大纲 View float 组行。代码很简单,除了该功能之外,一切正常。可能我遗漏了一些明显的东西。

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[self.outlineView setFloatsGroupRows:YES];
}

- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item
{
if (item == nil)
return [@[@"1", @"2",@"3",@"4",@"5"] objectAtIndex:index];

return nil;
}

- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item
{
return NO;
}

- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item
{
if (item == nil)
return 5;

return 0;
}

- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
{
return item;
}

- (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item
{
NSTableCellView *tableCellView = [outlineView makeViewWithIdentifier:[tableColumn identifier] owner:self];

return tableCellView;
}

- (BOOL)outlineView:(NSOutlineView *)outlineView isGroupItem:(id)item
{
if ([@[@"1", @"2",@"3",@"4",@"5"] indexOfObject:item] == 0)
return YES;
return NO;
}

编辑我将NSTableViewNSOutlineView一起添加到我的项目中,添加相同的数据源和委托(delegate)方法以及表格 View 的组行流,当大纲 View 仍然没有。我想知道我错过了什么,为什么大纲 View 的组行不想飞?..

最佳答案

已解决。在 NSOultineView 中,组行仅 float 在其子行上。它们不会 float 在其他非组行上,但 NSTableView 。因此,如果您有一个没有子项目的组行(如我的示例所示),那么它不会 float 。

在我看来,这是一个错误,或者至少这两种情况都应该有一个选项(至少与表格 View 行为保持一致)。

关于objective-c - NSOutlineView,setFloatsGroupRows : not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22328798/

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