在SwiftUI中更改GroupBox背景色
如何更改SwiftUI中GroupBox视图的默认灰色背景色 我尝试添加一个背景修改器,但这只是改变了框下的白色背景(参见屏幕截图)在SwiftUI中更改GroupBox背景色,swiftui,ios14,xcode12,Swiftui,Ios14,Xcode12,如何更改SwiftUI中GroupBox视图的默认灰色背景色 我尝试添加一个背景修改器,但这只是改变了框下的白色背景(参见屏幕截图) 这是默认的分组框样式。可以使用自定义样式创建所需的任何编组框 这里有一个例子。使用Xcode 12/iOS 14进行测试 尝试覆盖修改器与任何你想要的。如果在覆盖中使用.fill,它将更改背景颜色,但也将覆盖基础视图 我使用了笔划清晰的圆形直角视图,而不是.fill。这是一种简单的方式来设计您的GroupBox .overlay( RoundedRecta
这是默认的分组框样式。可以使用自定义样式创建所需的任何编组框 这里有一个例子。使用Xcode 12/iOS 14进行测试
尝试覆盖修改器与任何你想要的。如果在覆盖中使用.fill,它将更改背景颜色,但也将覆盖基础视图 我使用了笔划清晰的圆形直角视图,而不是.fill。这是一种简单的方式来设计您的GroupBox
.overlay(
RoundedRectangle(cornerRadius: 15)
.stroke(Color.purple, lineWidth: 5)
)
我不认为现在有什么办法,但这可能会对你有所帮助:这是有用的,但我不认为它算作“答案”,因为你必须自己设计标签。在开头加上一句“你做不到”,这才是真正的答案。
struct DemoGroupBox: View {
var body: some View {
GroupBox(label: Text("Label"), content: {
Text("Content")
})
.groupBoxStyle(TransparentGroupBox())
.padding()
}
}
struct TransparentGroupBox: GroupBoxStyle {
func makeBody(configuration: Configuration) -> some View {
configuration.content
.frame(maxWidth: .infinity)
.padding()
.background(RoundedRectangle(cornerRadius: 8).fill(Color.blue))
.overlay(configuration.label.padding(.leading, 4), alignment: .topLeading)
}
}
.overlay(
RoundedRectangle(cornerRadius: 15)
.stroke(Color.purple, lineWidth: 5)
)