CNU SW Academy 2기 프로그래머스 SwiftUI 강좌에서 학습한 내용이다.
평소 사용하는 Label() 함수는 다음과 같은 역할을 한다.
- Icon + Text
Label("사랑해요", systemName : "heart") -->
하지만 아이콘이 뒤로가고 텍스트가 앞으로 오게 하기 위해선 따로 LabelStyle을 만들어 주어야 한다.
// IconAndTitleLabelStyle이라는 struct 생성 // HStack으로 텍스트 , 아이콘 순으로 만듬 struct IconAndTitleLabelStyle : LabelStyle{ func makeBody(configuration: Configuration) -> some View { HStack { configuration.title configuration.icon } } } // extenstion을 통해 LabelStyle에 iconAndTitle 스타일을 추가 extension LabelStyle where Self == IconAndTitleLabelStyle { static var iconAndTitle: Self { Self() } }
이런 방식으로 스타일을 커스텀 할 수 있다.