作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想更改表单的“浅灰色”背景颜色,但是 .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)
}
}
最佳答案
iOS 16
您可以隐藏默认背景以显示底层 View ,方法是将以下修饰符吸引到 Form
:
.scrollContentBackground(.hidden)
List
s 由
UITableView
支持在 iOS 中。所以你需要改变tableView的背景颜色。但是自从
Color
和
UIColor
值略有不同,可以去掉
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)你想要
.edgesIgnoringSafeArea()
修饰符以摆脱它们。
UITableView.appearance().backgroundColor
适用于全局,您可以使用
.onAppear
修饰符以在不同的 View 中更改它(因为它是全局更改)。所以你可以使用
另一个
onAppear
或
onDisappear
将其重置为您想要的。
UIColor.systemGroupedBackground
对于
分组样式 .和
UIColor.systemBackground
对于
素色 .
关于ios - 如何在 SwiftUI 中更改表单的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57254461/
我是一名优秀的程序员,十分优秀!