我想在macOS上更改SwiftUI文本编辑器的背景颜色。下面的代码(用于iOS)有没有替代UITextView的NSTextField的变体?
谢谢。
struct ContentView: View {
init() {
UITextView.appearance().backgroundColor = .clear
}
var body: some View {
TextEditor(text: .constant("Placeholder"))
.background(Color.red)
}
}
发布于 2021-01-24 08:10:04
我刚刚在一个类似的问题here上发布了一个关于这个问题的答案
在扩展模块的帮助下,您可以清除NSTextView类的默认背景颜色,然后在SwiftUI中使用.background
修饰符,如下所示
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
}
}
发布于 2020-08-12 14:52:43
就像这个在斯威夫特里的样子?
myNSTextField.drawsBackground = true
myNSTextField.backgroundColor = NSColor.red
下面是什么:
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()
}
}
https://stackoverflow.com/questions/63311915
复制相似问题