【问题标题】:How do I add custom cell in NSBrowser?如何在 NSBrowser 中添加自定义单元格?
【发布时间】:2020-09-25 16:02:20
【问题描述】:

我需要添加一个带有复选框的自定义单元格,即 NSButtonNSImageCell

我搜索并发现我需要重写 NSBrowserCell 来实现这一点,但委托方法不会像在 NSTableView 中那样返回任何 NSViewNSCell

委托方法如下所示:

- (void)browser:(NSBrowser *)sender
willDisplayCell:(NSImageCell *)cell
          atRow:(NSInteger)row
         column:(NSInteger)column{

    NSBrowserCell *bcell = [[NSBrowserCell alloc] initImageCell:nil];
    //    cell = bcell;

}

很明显不能返回单元格,那如何更新单元格呢?

【问题讨论】:

  • 要替换所有单元格吗?
  • @Willeke:是的,我想全部替换

标签: objective-c macos cocoa nsbrowser


【解决方案1】:

NSBrowser的cell类可以通过设置来改变

@property(strong) id cellPrototype;

原型 NSCell 用于在浏览器的列中显示矩阵中的项目。原型 NSCell 实例被复制以在浏览器的矩阵中显示项目。

或与

- (void)setCellClass:(Class)factoryId;

设置要由浏览器列中的矩阵使用的单元格的类别。此方法创建类的实例并设置 cellPrototype。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-06
  • 1970-01-01
  • 2019-10-13
相关资源
最近更新 更多