首页 > 解决方案 > 按下 NavigationLink 时隐藏箭头和突出显示

问题描述

我在列表中有 NavigationLink,当我单击它时,它会突出显示项目。并且箭头显示在右上角

NavigationLink(destination: ItemsListView()) {                    
                Text("Show all (\(body.count))")
                                 .font(.body)
                                 .foregroundColor(Color.red)
}

如何隐藏右上角的箭头,同时禁用突出显示?

标签: iosswiftswiftui

解决方案


您可以通过执行以下操作来设置单元格的选择样式。

  • 为包含您的结构的结构创建一个 init 函数List
  • 获得外观UITableViewCell
  • 设置selectionStyle.none

这是一些示例代码:

struct ContentView: View {

    init() {
        let appearance = UITableViewCell.appearance()
        appearance.selectionStyle = .none
        // appearance.accessoryType = .none
    }

    var body: some View {
        NavigationView {

            List(0..<5, id: \.self) { element in

                NavigationLink(destination: Text("\(element)")) {

                    Text("\(element)")

                }

            }
        }
    }
}

应该可以accessoryType通过将其设置为来隐藏单元格的.none(参见上面注释掉的代码),但目前似乎不可能。


推荐阅读