对于一致的样式,建议的SwiftUI做法是什么?

时间:2019-12-11 14:57:06

标签: swift design-patterns swiftui

我刚刚开始在SwiftUI中进行编码,我对构建UI的新声明式方法感​​到非常兴奋。我试图找到一种整洁的方式来组织我的所有组件,并通过我的应用程序一致地重用它们(在不同的视图中使用相同的按钮等)。

我可以想到两种方法。

1)一种方法是创建一个ButtonStyle和按钮标签View。您可以选择使用令牌系统。

示例

使用按钮

struct ContentView: View {
    static let capsuleButton = TokenButton(capsuleText: "Login")
    static var body: some View {
        Button(action: {}){
            self.capsuleButton.buttonLabel
        }.buttonStyle(self.capsuleButton.buttonStyle)
    }
}

2)第二步是为每个按钮组件创建一个服装View,并在其他视图中需要时调用它

示例

自定义按钮View

struct MyButton: View {
    var text: String
    @Binding var isActive: Bool

    var body: some View {
        Button(action: {
            self.isActive = true
        }){
            Text(text)
        }
    }
}

使用按钮

struct ContentView: View {
    @State var isActive = false
    var body: some View {
        MyButton(text: "Button", isActive: $isActive)
    }
}

在SwiftUI中使用最佳实践是什么?

我非常感谢其他开发人员的反馈。

0 个答案:

没有答案