相关疑难解决方法(0)

在 SwiftUI 中更改 TextEditor 的背景颜色

TextEditor似乎有一个默认的白色背景。所以以下不起作用,它显示为white而不是定义red

var body: some View {
    TextEditor(text: .constant("Placeholder"))
        .background(Color.red)
}
Run Code Online (Sandbox Code Playgroud)

是否可以将颜色更改为自定义颜色?

swift swiftui

29
推荐指数
9
解决办法
5594
查看次数

在 macOS 的 SwiftUI 中更改 TextEditor 背景颜色

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

谢谢。

struct ContentView: View {
    init() {
        UITextView.appearance().backgroundColor = .clear
    }

    var body: some View {
        TextEditor(text: .constant("Placeholder"))
            .background(Color.red)
    }
}
Run Code Online (Sandbox Code Playgroud)

macos nstextfield swift swiftui

9
推荐指数
1
解决办法
983
查看次数

SwiftUI for MacOS 表单中的多行文本字段/文本编辑器

我需要一个适用于 MacOS 的 SwiftUI 多行文本输入控件,满足以下要求:

  • 允许像在编辑器中一样控制光标(即按 RETURN 会产生新行)
  • 表单中的工作标签

我尝试使用带有 lineLimit() 修饰符的 TextField,它看起来正是我需要的,即标签显示正确(包括对齐),但如果它是空的,并且 RETURN 键不执行任何操作,则它的高度只有 1 行我想要(即新行):

struct ContentView: View {
    @State var field1 = ""
    @State var field2 = ""
    @State var notes = ""

    var body: some View {
        Form {
            TextField("Label", text: $field1)
            TextField("Long Label", text: $field2)
            TextField("Notes", text: $notes)
                .lineLimit(10)
        }
        .padding()
        .frame(height: 150)
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

然后我尝试了文本编辑器,但它缺乏定义标签的能力。标签的位置使得 Form 元素对于 MacOS 非常有用,因为它允许标签正确对齐而无需任何修改。缺少边框样式只是一个小问题,可以使用边框样式解决:

struct ContentView: View {
    @State var field1 = ""
    @State var field2 = ""
    @State …
Run Code Online (Sandbox Code Playgroud)

macos swiftui

3
推荐指数
1
解决办法
4127
查看次数

标签 统计

swiftui ×3

macos ×2

swift ×2

nstextfield ×1