Skip to main content

How to change the background color of List, TextEditor, and more

About 2 minSwiftSwiftUIArticle(s)bloghackingwithswift.comcrashcourseswiftswiftuixcodeappstore

How to change the background color of List, TextEditor, and more 관련

SwiftUI by Example

Back to Home

How to change the background color of List, TextEditor, and more | SwiftUI by Example

How to change the background color of List, TextEditor, and more

Updated for Xcode 15

Some SwiftUI views have a default background color that overrides whatever you try to apply yourself, but if you use the scrollContentBackground() modifier you can hide that default background and replace it with something else. At the time of writing, this works for List, TextEditor, and Form, so you can remove or change their background colors.

For example, this removes the default background for a list and replaces with an indigo color:

List(0..<100) { i in
    Text("Example \(i)")
}
.scrollContentBackground(.hidden)
.background(.indigo)

Download this as an Xcode projectopen in new window

And this hides the default background for a TextEditor and replaces it with a gradient:

struct ContentView: View {
    @State private var bio = "Describe yourself"

    var body: some View {
        TextEditor(text: $bio)
            .scrollContentBackground(.hidden)
            .background(.linearGradient(colors: [.white, .gray], startPoint: .top, endPoint: .bottom))
    }
}

Download this as an Xcode projectopen in new window

Similar solutions…
SwiftUI tips and tricks | SwiftUI by Example

SwiftUI tips and tricks
All SwiftUI property wrappers explained and compared | SwiftUI by Example

All SwiftUI property wrappers explained and compared
How to change the tint color for individual list rows | SwiftUI by Example

How to change the tint color for individual list rows
How to create multi-line editable text with TextEditor | SwiftUI by Example

How to create multi-line editable text with TextEditor
How to set the background color of list rows using listRowBackground() | SwiftUI by Example

How to set the background color of list rows using listRowBackground()

이찬희 (MarkiiimarK)
Never Stop Learning.