gpt4 book ai didi

objective-c - 为轮廓 View 的根行指定不同的背景颜色

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

我有一些代码可以执行此操作(如下所示),但我收到一个错误使其无法工作,错误是“MyOutlineView”可能无法响应“-objectArray”,它说需要声明它但我不知道应该在头文件中使用什么代码来声明它。

代码:

- (void) outlineView: (NSOutlineView *) aView
willDisplayCell: (id) aCell
forTableColumn: (NSTableColumn *)aColumn
item: (id) anItem
{
id rootObj = anItem;
unsigned row = [aView rowForItem:anItem];

[aCell setDrawsBackground: YES];

while ([aView levelForRow:row] != 0) {
row --;
rootObj = [aView itemAtRow:row];
}

// The colours here are foul and ugly. Use something else, for
// God's sake!
if ([[self objectArray] indexOfObject:rootObj] % 2)
[aCell setBackgroundColor: [NSColor yellowColor]];
else
[aCell setBackgroundColor: [NSColor blueColor]];
}

最佳答案

我不确定我是否 100% 确定您要在这里做什么,但在我看来,您确实可以简单地替换它:

  if ([[self objectArray] indexOfObject:rootObj] % 2)
[aCell setBackgroundColor: [NSColor yellowColor]];
else
[aCell setBackgroundColor: [NSColor blueColor]];

if ([aView rowForItem:rootObj] % 2) 
[aCell setBackgroundColor: [NSColor yellowColor]];
else
[aCell setBackgroundColor: [NSColor blueColor]];

您的 rootObj 是大纲中的一个项目,就像 anItem 一样,这应该告诉您根项目位于哪一行。当然,也许我不明白您要在那里找到什么。

关于objective-c - 为轮廓 View 的根行指定不同的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993601/

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