* column = [[NSTableColumn alloc]initWithIdentifier:@"test"]; [_tableView addTableColumn:column] 首先NSTableView中的列是由NSTableColumn类描述的。一个列表可以有多个列。 三、关于NSTableColume的探究 NSTableColume简单理解就是一列,其中可以进行此列样式的相关设置,NSTableColumn类中常用属性解析如下: //初始化方法,指定一个列 * column = [[NSTableColumn alloc]initWithIdentifier:@"test"]; NSTableColumn * column2 = [[NSTableColumn * column = [[NSTableColumn alloc]initWithIdentifier:@"test"]; NSTableColumn * column2 = [[NSTableColumn
NSTableColumn *tableColumn = [[NSTableColumn alloc] init]; tableColumn.resizingMask = NSTableColumnAutoresizingMask - (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn - (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn
MainMenuPresenter : NSTableViewDelegate { func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn return tableViewCell } func tableView(_ tableView: NSTableView, dataCellFor tableColumn: NSTableColumn
return menuItemDict.keys.count } func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? 我们现在可以给我们 NSTableView的代码精简如下: func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn
return data.count } func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn
NSTableView) -> Int { return 3 } public func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn
如果我们使用下面的方法进行设置的话 public func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn public func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn? self.itemViewWidthConstraint.constant = CGFloat(size.width) } public func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn in }) } 在 BaseListView的 public func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn
作者分享了一个自定义 NSTableColumn 的代码示例,该示例使用图片而不是字符串作为列头。 代码示例如下:final class LockTableColumn: NSTableColumn { lazy private var _headerCell: NSTableHeaderCell } return _headerCell } set { // 空操作 } }}作者提到,NSTableColumn