extension
을 이용하여 작성하기도 함....
var body: some View {
VStack{
Text("Main Title!")
.CustomFont()
Text("Sub Title!")
.modifier(MyTextStlye())
Text("description!")
.modifier(MyTextStlye(myWeight:.bold, myColor: .red))
Text("description!")
.modifier(MyTextStlye(myWeight:.bold))
}
}
...
struct MyTextStlye: ViewModifier {
var myWeight = Font.Weight.regular
var myfont = Font.title2
var myColor = Color.black
func body(content: Content) -> some View {
content
.font(myfont.weight(myWeight))
.foregroundColor(myColor)
.padding(.bottom, 20)
}
}
...
private extension Text {
func CustomFont() -> Text {
self
.font(.title2)
.bold()
.italic()
.foregroundColor(.orange)
}
}
extesion을 작성 할 때 해당 파일에서만 이용하기 위해 private를 이용 할 수 있음.
ViewModifier을 이용하면, 중복되는 UI코드를 많이 줄일 수 있다.