当尝试在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()
}
}