Change TextEditor background in iOS 16
Starting from iOS 16 we can set a custom background for TextEditor in SwiftUI using a combination of scrollContentBackground() and background() view modifiers. We first have to hide the default background on TextEditor
by applying scrollContentBackground(.hidden)
, otherwise our custom background won't be visible. Then we can easily set a new background with the background()
method.
struct ContentView: View {
@State private var text = "Some text"
var body: some View {
TextEditor(text: $text)
.frame(width: 300, height: 200)
.scrollContentBackground(.hidden)
.background(.indigo)
}
}
Check out our new book!
Swift Gems
100+ tips to take your Swift code to the next level
Swift Gems
100+ tips to take your Swift code to the next level
- Advanced Swift techniques for experienced developers bypassing basic tutorials
- Curated, actionable tips ready for immediate integration into any Swift project
- Strategies to improve code quality, structure, and performance across all platforms
- Practical Swift insights from years of development, applicable from iOS to server-side Swift