我有一个NSOutlineView
视图,该视图使用自定义SwiftUI视图作为其单元格:
func outlineView(_ outlineView: NSOutlineView, viewFor tableColumn: NSTableColumn?, item: Any) -> NSView? {
guard tableColumn?.identifier.rawValue == "the correct id" else { return }
guard let myItem = item as? MyType else { return }
return NSHostingView(rootView: MySwiftUIView(someProperty: myItem))
}
自定义视图的高度可以更改,因此我想找到一种方法来动态调整NSOutlineView
单元格的高度以适应内部托管的自定义视图。到目前为止,我仅在NSOutlineViewDelegate
中发现了此函数,该函数使我可以设置行的高度:
func outlineView(_ outlineView: NSOutlineView, heightOfRowByItem item: Any) -> CGFloat
但是,我只能基于item
而不是自定义视图来设置行的高度。
我是否可以直接访问每个单元格/行,并将其高度设置为与自定义视图相同的高度?