在SwiftUI中为MacOS制作自定义ButtonStyle

问题描述 投票:0回答:1

我出于某种原因无法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!

ios swift xcode button swiftui
1个回答
0
投票

想通了,但留给其他人。修饰符的顺序不正确,因此其中一些修饰符不存在。我也尝试将自定义样式应用于“图像”按钮,但是我需要将渲染模式设置为.template

© www.soinside.com 2019 - 2024. All rights reserved.