SwiftUI TextEditor(文本编辑器)背景颜色
设置TextEditor
的background
会发现并不能改变其背景色,因为颜色在TextEditor
内部的TextView
上,因此可以使用extension
把所有的TextView
的background
设置为.clear
把背景色清除。
然后再使用.background
就可以成功设置TextEditor
的背景色。
import SwiftUI
extension NSTextView {
open override var frame: CGRect {
didSet {
backgroundColor = .clear // 清除TextView背景颜色
drawsBackground = true
}
}
}
struct ContentView: View {
@State var string: String = "这是一个文本编辑器"
var body: some View {
TextEditor(text: $string)
.textFieldStyle(PlainTextFieldStyle())
.background(Color.blue) // 设置背景颜色
}
}
陈蚂泷:文章真不错https://haodnf.cn/gonglue/xinshouzhinan/20240819/242.html
感谢分享