SwiftUI自定义修饰符和自定义子视图之间的区别?

时间:2019-10-05 08:37:54

标签: ios swift swiftui

当尝试在SwiftUI中创建可重用样式时,为了使元素看起来一致,我们可以创建自定义修饰符或自定义视图。

有什么区别吗?它在用户界面中产生的结果相同,所以有没有推荐的方法,或者什么时候应该使用每种方法?

我做了一个简单的例子来说明我的意思。

struct ContentView: View {

    var body: some View {
        VStack {
            Text("Hello").modifier(CustomModifier())
            CustomText(text: "Hello")

            //Looks the same, so is there any recommended way?
        }
    }
}

struct CustomText: View {

    let text: String

    var body: some View {
        Text(text).font(.headline)
        .foregroundColor(.red)
        .background(Color.gray)
        .padding()
    }
}

struct CustomModifier: ViewModifier {

    func body(content: Content) -> some View {
        return content.font(.headline)
            .foregroundColor(.red)
            .background(Color.gray)
            .padding()
    }
}

0 个答案:

没有答案