iOS 14,Swift UI 2 更改 NavigationLink 内选定列表项的背景颜色

Posted

技术标签:

【中文标题】iOS 14,Swift UI 2 更改 NavigationLink 内选定列表项的背景颜色【英文标题】:iOS 14, Swift UI 2 change background color of selected List item inside a NavigationLink 【发布时间】:2020-09-20 09:19:31 【问题描述】:

如何在NavigationLink 中选择列表项时更改其背景颜色?

它始终以蓝色突出显示(请参阅随附的屏幕)。我尝试更改 listRowBackgroundColor 视图修饰符,但没有成功。

NavigationView 
    
    List (templateModel.model.items)  item in
        
        NavigationLink(destination: DetailView(selectedCategory: item.name, dismiss: dismiss)
            .environmentObject(OrientationInfo())) 
             Text("Test")
                 .listRowBackground(Color.gray)
        
        .background(Color.black)
        .buttonStyle(PlainButtonStyle())
        .listRowBackground(Color.gray)
        
    .background(Color.black) 
    .listStyle(InsetListStyle())

【问题讨论】:

【参考方案1】:

只需使用.accentColor,如下

List (templateModel.model.items)  item in

    // ... other content here


.accentColor(.gray)       // << here !!

【讨论】:

以上是关于iOS 14,Swift UI 2 更改 NavigationLink 内选定列表项的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

iOS 14 Beta - Swift UI 中的核心数据错误:任何模型中都没有 NSEntityDescriptions 声明 NSManagedObject 子类

Swift UI 2 DocumentGroup 获取导航栏按钮操作

iOS 14 / UI 测试 DatePicker

Stripe - 单一方法预构建 UI,STPAPIClient.shared().publishableKey iOS Swift UiKit

损坏的内联 datePicker 作为 TextField Swift iOS 14 的 InputView

关于属性值 iOS/Swift 的 UI 测试