设置TextEditorbackground会发现并不能改变其背景色,因为颜色在TextEditor内部的TextView上,因此可以使用extension把所有的TextViewbackground设置为.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) // 设置背景颜色
    }
}

macOSSwiftUI

1 条评论

  1. 跨境电商B2B系统
    2023-10-11 10:06
    回复

    感谢分享

添加新评论