小编Pia*_*kaa的帖子

如何添加 SwiftUI 自定义 ButtonStyle 作为静态扩展

在 swiftui3 中,您可以像这样使用按钮样式快捷方式


Button("0") {print("pressed 0")}
    .buttonStyle(.bordered)

Run Code Online (Sandbox Code Playgroud)

我想用我的自定义按钮样式类来做到这一点

struct CrazyButtonStyle:ButtonStyle{
    func makeBody(configuration: Configuration) -> some View {
        configuration.label
            .foregroundColor(.red)
    }
}
Run Code Online (Sandbox Code Playgroud)

像这样称呼它

Button("0") {print("pressed 0")}
    .buttonStyle(.crazy)
Run Code Online (Sandbox Code Playgroud)

我努力了

extension ButtonStyle{
    static var crazy:CrazyButtonStyle {
        get {
            return CrazyButtonStyle()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误

Contextual member reference to static property 'crazy' requires 'Self' constraint in the protocol extension
Run Code Online (Sandbox Code Playgroud)

swift swiftui

9
推荐指数
1
解决办法
1239
查看次数

标签 统计

swift ×1

swiftui ×1