티스토리 뷰
Protocol
표준 interaction behavior을 적용하고 view 계층 안에 있는 모든 버튼의 모양을 custom 하는 타입
즉 이 프로토콜을 이용하면 커스텀 버튼 스타일을 만들 수 있다!
현재 view 계층의 view style을 설정하기위해 buttonStyle(_:) modifier를 사용하고 표준 버튼 interaction behavior를 사용하는 button을 만들때 ButtonStyle Protocol에 준수하는 스타일을 특정하면 된다.
즉 custon interaction behavior을 하는 button을 만들때는 PrimitiveButtonStyle을 사용하면 됨.
buttonStyle은 반환형이 someView이고 인자는 ButtonStyle이나 PrimitiveButtonStyle을 준수해야 합니다.
ButtonStyle Protocol
ButtonStyle 프로토콜의 정의
이 프로토콜을 준수하기 위해서는 makeBody함수 하나만 구현하면 됨
반환형은 Self.body인데 associatedType이므로 View 프로토콜을 준수하는 타입으로 정해야한다. 즉 뷰를 반환해야 한다!
configuration 매개변수는 Self.Configuration으로 지정하는데 이 타입은 typeAlias로 지정하고 있으므로 ButtonStyleConfiguration 타입인 것
이 ButtonStyleConfiguration을 살펴보면
Label 프로퍼티는 View 프로토콜을 채택하여 body 프로토콜을 구현해야하는데 Body의 타입이 Never == 반환값이 없다는 의미이므로 구현하지 않아도 됨
label 프로퍼티는 위에서 정의한 Label을 타입으로 가짐 결과적으로 뷰 프로토콜을 구현하고 있는 것이기 때문에 우리는 이 프로퍼티를 통해 우리가 사용할 custom button style을 만들 수 있음!
Bool 타입의 isPressed가 있는데 버튼이 눌렸는지 아닌지를 판단하는 프로퍼티. 눌렸을때는 true, 아닐때는 false를 반환.
PrimitiveButtonStyle 프로토콜
ButtonStyle 프로토콜보다 더 많은 효과를 주고싶다면 사용 → 나중에!
표준 interaction behavior을 적용하고 view 계층 안에 있는 모든 버튼의 모양을 custom 하는 타입
현재 view 계층의 view style을 설정하기위해 buttonStyle(_:) modifier를 사용해라. 표준 버튼 interaction behavior를 사용하는 button을 만들때 ButtonStyle Protocol에 준수하는 스타일을 특정해.
custon interaction behavior을 하는 button을 만들때는 PrimitiveButtonStyle을 사용하면 됨.
buttonStyle은 반환형이 someView이고 인자는 ButtonStyle이나 PrimitiveButtonStyle을 준수해야 합니다.
ButtonStyle Protocol
ButtonStyle 프로토콜의 정의
이 프로토콜을 준수하기 위해서는 makeBody함수 하나만 구현하면 됨
반환형은 Self.body인데 associatedType이므로 View 프로토콜을 준수하는 타입으로 정해야한다. 즉 뷰를 반환해야 한다!
configuration 매개변수는 Self.Configuration으로 지정하는데 이 타입은 typeAlias로 지정하고 있으므로 ButtonStyleConfiguration 타입인 것
이 ButtonStyleConfiguration을 살펴보면
Label 프로퍼티는 View 프로토콜을 채택하여 body 프로토콜을 구현해야하는데 Body의 타입이 Never == 반환값이 없다는 의미이므로 구현하지 않아도 됨
label 프로퍼티는 위에서 정의한 Label을 타입으로 가짐 결과적으로 뷰 프로토콜을 구현하고 있는 것이기 때문에 우리는 이 프로퍼티를 통해 우리가 사용할 custom button style을 만들 수 있음!
Bool 타입의 isPressed가 있는데 버튼이 눌렸는지 아닌지를 판단하는 프로퍼티. 눌렸을때는 true, 아닐때는 false를 반환.
PrimitiveButtonStyle 프로토콜
ButtonStyle 프로토콜보다 더 많은 효과를 주고싶다면 사용 → 나중에!
표준 interaction behavior을 적용하고 view 계층 안에 있는 모든 버튼의 모양을 custom 하는 타입
현재 view 계층의 view style을 설정하기위해 buttonStyle(_:) modifier를 사용해라. 표준 버튼 interaction behavior를 사용하는 button을 만들때 ButtonStyle Protocol에 준수하는 스타일을 특정해.
custon interaction behavior을 하는 button을 만들때는 PrimitiveButtonStyle을 사용하면 됨.
buttonStyle은 반환형이 someView이고 인자는 ButtonStyle이나 PrimitiveButtonStyle을 준수해야 합니다.
ButtonStyle Protocol
ButtonStyle 프로토콜의 정의
이 프로토콜을 준수하기 위해서는 makeBody함수 하나만 구현하면 됨
반환형은 Self.body인데 associatedType이므로 View 프로토콜을 준수하는 타입으로 정해야한다. 즉 뷰를 반환해야 한다!
configuration 매개변수는 Self.Configuration으로 지정하는데 이 타입은 typeAlias로 지정하고 있으므로 ButtonStyleConfiguration 타입인 것
이 ButtonStyleConfiguration을 살펴보면
Label 프로퍼티는 View 프로토콜을 채택하여 body 프로토콜을 구현해야하는데 Body의 타입이 Never == 반환값이 없다는 의미이므로 구현하지 않아도 됨
label 프로퍼티는 위에서 정의한 Label을 타입으로 가짐 결과적으로 뷰 프로토콜을 구현하고 있는 것이기 때문에 우리는 이 프로퍼티를 통해 우리가 사용할 custom button style을 만들 수 있음!
Bool 타입의 isPressed가 있는데 버튼이 눌렸는지 아닌지를 판단하는 프로퍼티. 눌렸을때는 true, 아닐때는 false를 반환.
PrimitiveButtonStyle 프로토콜
ButtonStyle 프로토콜보다 더 많은 효과를 주고싶다면 사용 → 나중에 사용해보게 된다면 추가하겠습니다
'SwiftUI' 카테고리의 다른 글
SwiftUI) About TabView (0) | 2022.10.31 |
---|---|
SwiftUI) About UIViewRepresentable (0) | 2022.10.27 |
SwiftUI) @ViewBuilder (0) | 2022.10.07 |
SwiftUI) About ViewModifier (0) | 2022.09.28 |
SwiftUI) @ObservedObject, @StateObject, @EnvironmentObject 정리 (0) | 2022.08.01 |
- Total
- Today
- Yesterday
- 알고리즘
- 입국심사
- programmres
- 문자열 교집합
- Algorithm
- programmers
- 3000
- 마법사 상어와 파이어스톰
- 코딩테스트
- UIKit
- ios
- 도둑질
- 3차원 농부
- swift
- 8898
- C++
- 백준 20058
- 단속카메라
- 코테
- swea
- Xcode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |