【问题标题】:View-based NSOutlineView row badges基于视图的 NSOutlineView 行徽章
【发布时间】:2013-07-04 18:40:12
【问题描述】:
我仍在为 OSX Lion 引入的基于视图的 NSOutlineViews 苦苦挣扎。虽然现在一切正常,但我想将类似于 Mail.app 的未读标记添加到行中。
对于基于视图的 NSOutlineViews 有没有比在 PXSourcelist 中遵循 -(void)drawBadgeForRow:(NSInteger)rowIndex inRect:(NSRect)badgeFrame 的示例更好的方法?
谢谢,雄鹿
【问题讨论】:
标签:
macos
cocoa
nsoutlineview
【解决方案1】:
如果有人遇到同样的问题,我在 Lion 发行说明中找到了一个实际上非常简单的解决方案。
第一个子类NSTableCellView,为NSButton 添加IBOutlet 和@synthesize/@property 语句。然后在 Interface Builder 中打开应该有徽章的NSTableCellView。将它的类设置为您新创建的子类并为其添加一个按钮。将按钮样式设置为"inline",并将其类型设置为"switch"。
现在再次选择NSTableCellView 并将NSButton IBOutlet 连接到您添加的按钮。
而已。您现在可以调用例如[[cellView button] setTitle@"123"]] 将行徽章标签设置为 123 或任意字符串。