我出于某种原因无法100%工作。有些修改器有效,而有些修改器无效(如下所示)。我的视图结构是这样的:
struct MyView: View {
// ...
struct CustomButtonStyle: ButtonStyle {
func makeBody(configuration: CustomButtonStyle.Configuration) -> some View {
configuration.label
.foregroundColor(Color.white) // this works
.frame(width: 330, height: 40, alignment: .center) // this doesn't work
.clipShape(RoundedRectangle(cornerRadius: 8)) // this doesn't work
.padding(100) // this works
}
}
// ...
// in var body...
Button(action: {
// ...
}, label: {
Text("Confirm")
.fontWeight(.semibold)
.background(Color.blue)
})
.buttonStyle(CustomButtonStyle())
当我将ViewModifiers放在Button标签的Text视图上时,它可以正常工作,但是不确定为什么这不起作用。 TIA!
想通了,但留给其他人。修饰符的顺序不正确,因此其中一些修饰符不存在。我也尝试将自定义样式应用于“图像”按钮,但是我需要将渲染模式设置为.template
。