cocoa - 如何创建 itunes/finder/mail 样式 TableView

标签 cocoa nstableview nsoutlineview nscell nstableviewcell

我想以 Finder 窗口左 Pane 的样式创建内容列表(类似于 Mail/iTunes/etc 的样式)。目前我的 NSTableView/NSOutlineView 实现看起来有点基本。

有什么教程可以帮助我模仿苹果的外观吗?特别是,我关注标题行、颜色等。

最佳答案

您需要先获取源列表:setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleSourceList

您可以通过实现委托(delegate)方法来获取那些非常酷的 header : - (BOOL)tableView:(NSTableView *)tableView isGroupRow:(NSInteger)row 或 NSOutlineView 对应项: - (BOOL)outlineView:(NSOutlineView *)outlineView isGroupItem:(id)item

[myOutlineView setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleSourceList];
- (BOOL)outlineView:(NSOutlineView *)outlineView isGroupItem:(id)item {
    return [self itemIsGroupItem:item];
}

这将为您提供选择渐变、蓝色背景、 eclipse 刻标题行等。

关于cocoa - 如何创建 itunes/finder/mail 样式 TableView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8110784/

相关文章:

objective-c - 从 NSOutlineView 中去除几个级别的缩进

xcode - cocoa -Applescript : Placing a GUI in an applescript

macos - 从 NSTableView 中删除排序指示器

objective-c - Objective C 和 Cocoa 将小数英尺转换为英尺和英寸?

objective-c - 截断字符串

macos - 为什么 NSTableView 可能会重绘滚动时的每个单元格?

macos - 无法拖放到 NSOutlineView 的整行上

cocoa - 如何让 NSOutlineView 缩进多列?

ios - 我应该在 iOS/OS X 应用程序中的哪里初始化我的单例?

objective-c - 捕获在 NSTextField 中按下的 "up"和 "down"键