首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSOutlineView:如何为有孩子和没有孩子的项目提供不同的自定义颜色?

NSOutlineView:如何为有孩子和没有孩子的项目提供不同的自定义颜色?
EN

Stack Overflow用户
提问于 2013-03-27 04:55:20
回答 2查看 451关注 0票数 1

我有一个使用TextFieldCell作为单元格的NSOutlineView的自定义子类。一些具有子项(表示一组子项)的项。

我想有一个自定义颜色的项目与孩子和另一个自定义颜色的项目没有孩子。我试图在IB中更改它,但颜色仅针对子项更改,并且在代码中,我还可以设置自定义颜色,但仅针对子项。有人能帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-30 06:00:42

经过彻底的研究,唯一的方法似乎是覆盖NSOutlineView子类上的drawRow:方法

票数 0
EN

Stack Overflow用户

发布于 2013-04-02 00:04:06

也可以实现NSOutlineViewDelegate方法-(空) outlineView:(NSOutlineView*)aTableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn*)aTableColumn item:(id)item;

在它中,你可以有一个类似于以下内容的部分:

代码语言:javascript
运行
复制
if ([self outlineView:self isGroupItem: item]){
NSColor *color;
if ([item.children count] == 0) {
color = [NSColor redColor];
}
else {
color = [NSColor blueColor];
}
[aCell setDrawsBackground:YES];
[aCell setBackgroundColor: color];
}

很抱歉格式化,我在这方面还是个新手。这应该是可行的,因为我已经将这段代码用于类似的事情。我希望这就是你要找的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15647211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档