将NSOutlineView或NSTableView单元格的高度调整为其中的自定义视图

我有一个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而不是自定义视图来设置行的高度。

我是否可以直接访问每个单元格/行,并将其高度设置为与自定义视图相同的高度?

j445566321 回答:将NSOutlineView或NSTableView单元格的高度调整为其中的自定义视图

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2506366.html

大家都在问