首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在SwiftUI for macOS中更改TextEditor背景色

在SwiftUI for macOS中更改TextEditor背景色
EN

Stack Overflow用户
提问于 2020-08-08 12:48:15
回答 2查看 1.1K关注 0票数 9

我想在macOS上更改SwiftUI文本编辑器的背景颜色。下面的代码(用于iOS)有没有替代UITextView的NSTextField的变体?

谢谢。

代码语言:javascript
运行
复制
struct ContentView: View {
    init() {
        UITextView.appearance().backgroundColor = .clear
    }

    var body: some View {
        TextEditor(text: .constant("Placeholder"))
            .background(Color.red)
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-24 08:10:04

我刚刚在一个类似的问题here上发布了一个关于这个问题的答案

在扩展模块的帮助下,您可以清除NSTextView类的默认背景颜色,然后在SwiftUI中使用.background修饰符,如下所示

代码语言:javascript
运行
复制
extension NSTextView {
    open override var frame: CGRect {
        didSet {
            backgroundColor = .clear //<<here clear
            drawsBackground = true
        }

    }
}

struct ContentView: View {
    
    @State var string: String = ""
    
    var body: some View {
        TextEditor(text: $string)
            .textFieldStyle(PlainTextFieldStyle())
            .background(Color.red) //<< here red
    }
}
票数 3
EN

Stack Overflow用户

发布于 2020-08-12 14:52:43

就像这个在斯威夫特里的样子?

代码语言:javascript
运行
复制
myNSTextField.drawsBackground = true
myNSTextField.backgroundColor = NSColor.red

下面是什么:

代码语言:javascript
运行
复制
struct ContentView: View {
    @State var myText: String = "blah blah blah"
    var body: some View {
        VStack(alignment: .leading) {
            TextField("Enter text", text: $myText)
            .background(Color.red)

        }.padding()
    
    }
}
票数 -6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63311915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档