반응형
마지막 과제가 아래와 같다.
커스텀 ViewModifier (와 View extension) 을 만드는데, 글씨체를 크고 푸른색으로 만들어 프로미넌트타이틀에 적당하게 바꾸는 모디파이어.
Create a custom ViewModifier (and accompanying View extension) that makes a view have a large, blue font suitable for prominent titles in a view.
작성한 코드는 아래와 같다.
import SwiftUI
struct ProminentTitle : ViewModifier {
func body(content: Content) -> some View {
content
.font(.largeTitle.bold())
.foregroundColor(.blue)
}
}
extension View {
func promTitle() -> some View {
modifier(ProminentTitle())
}
func promTitleX() {
modifier(ProminentTitle())
}
}
struct ContentView: View {
var body: some View {
VStack {
Text("Prominent Title")
.promTitleX()
Spacer()
}
.frame(minWidth: 200, minHeight: 200)
}
}
동영상에서 한번 보여줬던 걸 그대로 따라하면 되는데, extension에 추가한 함수에 함수반환형인 ( -> some View ) 를 빼먹었더니 에러가 발생했다. 에러는 Type '()' cannot conform to 'View' , promTitleX 함수의 반환형은 () 라는 건데... 문법적으로 뭐가 잘못된 것인지 잘 모르겠다. 반환형을 알아서 잘 추측해야 하는 것 아닌가?
어쨌든 이런 에러를 겪었다.
728x90
'프로그래밍 > SWIFT' 카테고리의 다른 글
Swift XMLCoder (0) | 2022.07.14 |
---|---|
SwiftUI : Primes Numbers (0) | 2022.07.10 |
100DaysOfSwiftUI - Day 23 (0) | 2022.07.09 |
100DaysOfSwiftUI (0) | 2022.07.01 |
100DaysOfSwiftUI - Day 16 (0) | 2022.07.01 |