0

List我正在使用 SwiftUI 构建一个 macOS 应用程序,当我右键单击它时,我试图删除(甚至掩盖)添加到项目的边框。

默认情况下,这里是:

列表行

现在通过右键单击和contextMenu视图修改器:

列表行右键单击

我认为这是一个NSTableView怪癖,所以我尝试了以下三个 Stack Overflow 帖子中的方法:

  1. 在基于视图的 NSTableView 上自定义右键单击突出显示
  2. 带有菜单的NSTableView,如何通过右键更改边框颜色?
  3. 禁用 NSTableView 行焦点环
  4. NSTableView:右键单击行上的蓝色轮廓

我无法让其中任何一个工作,这可能是因为我不能继承 an NSTableView,而只能用extension. 到目前为止,这是我成功删除默认表格背景等的内容:

extension NSTableView{
  open override func viewDidMoveToWindow() {
    super.viewDidMoveToWindow()

    //Remove default table styles
    backgroundColor = NSColor.clear
    enclosingScrollView!.drawsBackground = false
    selectionHighlightStyle = .none
  }
}

有什么方法可以在 SwiftUI 中删除该右键单击边框?我什至愿意用其他视图覆盖它,但我似乎无法在表格单元格周围的那个空间中绘制 SwiftUI 视图。

4

0 回答 0