gpt4 book ai didi

ios - 如何在 SwiftUI 中更改表单的背景颜色?

转载 作者:行者123 更新时间:2023-12-04 14:36:44 27 4
gpt4 key购买 nike

我想更改表单的“浅灰色”背景颜色,但是 .foregroundColor(Color.blue).background(Color.blue)似乎不起作用

struct ContentView : View {

@State var value = ""

var body: some View {
Form {
Section(header: Text("First Name")) {
TextField($value)
}
Section(header: Text("Last Name")) {
TextField($value)
}
}.foregroundColor(Color.blue)

}
}

enter image description here

最佳答案

iOS 16
您可以隐藏默认背景以显示底层 View ,方法是将以下修饰符吸引到 Form :

.scrollContentBackground(.hidden)

iOS 13 和 15
所有 SwiftUI 的 List s 由 UITableView 支持在 iOS 中。所以你需要改变tableView的背景颜色。但是自从 ColorUIColor值略有不同,可以去掉 UIColor .
struct ContentView: View {

init(){
UITableView.appearance().backgroundColor = .clear
}

@State var value = ""

var body: some View {
Form {
Section(header: Text("First Name")) {
TextField("First Name", text: $value)
}
Section(header: Text("Last Name")) {
TextField("Last Name", text: $value)
}
}
/*.scrollContentBackground(.hidden)*/ // 👈 this line will work only on iOS 16 and above
.foregroundColor(Color.blue)
.background(Color.yellow)
}
}
现在您可以使用 任何背景 (包括所有 Color s)你想要
Preview
请注意 那些顶部和底部的白色区域是安全的,您可以使用 .edgesIgnoringSafeArea()修饰符以摆脱它们。

恢复
由于 UITableView.appearance().backgroundColor适用于全局,您可以使用 .onAppear修饰符以在不同的 View 中更改它(因为它是全局更改)。所以你可以使用 另一个 onAppearonDisappear将其重置为您想要的。
默认颜色为: UIColor.systemGroupedBackground对于 分组样式 .和 UIColor.systemBackground对于 素色 .
它们都自动支持暗模式和亮模式。

关于ios - 如何在 SwiftUI 中更改表单的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57254461/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com