繁体   English   中英

按下 NavigationLink 时隐藏箭头和突出显示

[英]Hide arrow and highlighting when press on NavigationLink

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

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

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

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

  • 为包含您的List的结构创建一个 init function
  • 获取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)")

                }

            }
        }
    }
}

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

查看这篇文章: 列表 SwiftUI 中的每行是否可以有多个 NavigationLink? Fabrice Leyne底部的答案帮助了我!

 .opacity(0.0) // just add this to the navigationLink

 NavigationLink(destination: Text("\(element)")) {Text("\(element)")} .opacity(0.0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM