SwiftUI TextField 和覆盖
SwiftUI TextField and overlay
我想向 textField 添加叠加视图 (Color.black)(目标是降低亮度)。
但是,我添加overlay view后,textField无法使用(select)。
我尝试了 allowsHitTesting(false),但没有用。
有谁知道如何解决这个问题?
TextField(title: StringProtocol, text: Binding<String>)
.overlay(Color.black.opacity(0.2))
Overlays 在 TextField 前面创建辅助视图。您可以使用背景获得相同的结果。这是代码。希望这有帮助。
import SwiftUI
struct ContentView: View {
@State var name: String = "This is a test."
var body: some View {
TextFieldView(name: $name)
}
}
struct TextFieldView: View {
@Binding var name: String
var body: some View {
TextField("Name", text: $name)
.background(
Color.black.opacity(0.2)
)
}
}
要降低亮度,请使用 .brightness 修饰符!
TextField("title", text: $txt).brightness(0.5)
通常,.brightness、.opacity、.foregroundColor、.background 的组合可帮助您根据需要调整视觉外观。
要更改光标样式,请使用 .accentColor
我想向 textField 添加叠加视图 (Color.black)(目标是降低亮度)。
但是,我添加overlay view后,textField无法使用(select)。
我尝试了 allowsHitTesting(false),但没有用。
有谁知道如何解决这个问题?
TextField(title: StringProtocol, text: Binding<String>)
.overlay(Color.black.opacity(0.2))
Overlays 在 TextField 前面创建辅助视图。您可以使用背景获得相同的结果。这是代码。希望这有帮助。
import SwiftUI
struct ContentView: View {
@State var name: String = "This is a test."
var body: some View {
TextFieldView(name: $name)
}
}
struct TextFieldView: View {
@Binding var name: String
var body: some View {
TextField("Name", text: $name)
.background(
Color.black.opacity(0.2)
)
}
}
要降低亮度,请使用 .brightness 修饰符!
TextField("title", text: $txt).brightness(0.5)
通常,.brightness、.opacity、.foregroundColor、.background 的组合可帮助您根据需要调整视觉外观。
要更改光标样式,请使用 .accentColor