[SwiftUI] ViewModifier (Protocol)

Jade·2024년 1월 16일
0

TIL

목록 보기
9/10
post-custom-banner

ViewModifier에 대해서 Araboza


ViewModifier

  • View 또는 View의 modifier에 적용하여 다른 형태의 View를 반환하는 modifier이다.
  • 모든 View에서 재사용 할 수 있는 modifier를 구현할 수 있다.
  • 자주 사용될 것 같은 디자인 컴포넌트들을 설계할 때 유용하다.
// 예시
struct customTextModifier: ViewModifier {
    func body(content: Content) -> some View {
        content
            .font(.title2)
            .bold()
            .foregroundColor(.blue)
    }
}

extension View { // extension으로 modifier 메소드 정의
    func titleBoldBlue() -> some View {
        modifier(customTextModifier())
    }
}

// 사용 예시
struct ContentView: View {
    var body: some View {
        VStack {
            Image(systemName: "globe")
                .imageScale(.large)
                .foregroundStyle(.tint)
            Text("Hello, world!")
                .titleBoldBlue() // extension으로 정의했기 때문에 다른 modifier들처럼 간편하게 사용 가능
        }
        .padding()
    }
}
profile
응애 iOS 개발자
post-custom-banner

0개의 댓글