如何解决在SwiftUI中更改GroupBox背景颜色
如何在SwiftUI中更改GroupBox视图的默认灰色背景颜色?
我尝试添加背景修饰符,但这只会更改框下方的白色背景(请参见屏幕截图)。
interface MyInterface {
update: () => void;
func2: () => void;
}
class MyClass {
a: MyInterface = {
update: function(){},func2: function(){}
}
}
解决方法
这是默认的组框样式。您可以使用自定义样式创建所需的任何组框。
这里是一个例子。在Xcode 12 / iOS 14上进行了测试。
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)
}
}
,
尝试使用覆盖修饰符以及所需的任何内容。如果您在叠加层内部使用.fill,它将更改背景颜色,但也会覆盖基础视图。
我使用了清晰的RoundedRectangle视图,而不是.fill。这是一种样式化GroupBox的简便方法。
.overlay(
RoundedRectangle(cornerRadius: 15)
.stroke(Color.purple,lineWidth: 5)
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。