How do I modify the background color of a List in SwiftUI?

后端 未结 14 1359
醉酒成梦
醉酒成梦 2020-12-03 02:33

I\'m trying to recreate an UI I built with UIKit in SwiftUI but I\'m running into some minor issues.

I want the change the color of the List here, but n

14条回答
  •  一个人的身影
    2020-12-03 03:06

    There is an argument: listRowBackground() in SwiftUI, but if you use List directly to iterate the data collection, it doesn't work.

    Here is my workaround:

        List {
            // To make the background transparent, we have we use a ForEach as a wrapper
            ForEach(files) {file in
                Label(
                    title: { Text(file.name ?? fileOptionalFiller).lineLimit(listRowTextLineLimit) },
                    icon: { AppIcon.doc.foregroundColor(.primary) }
                )
            }
            .listRowBackground(Color.primary.colorInvert())
        }
    

    Basically, listRowBackground() works if you use a ForEach inside List.

提交回复
热议问题