반응형
* 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다!
* 아래 문서는 공식문서와 설명을 찾으며 공부를 하며 만들었으나, 큰 틀은 개발자리님의 #1 설정앱 실습영상을 참고했습니다.
https://youtu.be/KV8U7ts92xw?si=mlGYLWfLLEd9UIYi
[ 반복문 만들기 ]
1. @ViewBuilder 를 활용하기
일단 하나의 셀을 떼와서 대체 셀을 만들어보았다.
// 바디 안에 집어 넣어야함
@ViewBuilder
private func cellularPlainCell() -> some View { // 뷰빌더 이름 지정
// 내용 삽입
HStack {
Image(systemName: "antenna.radiowaves.left.and.right")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 20, height: 20)
.padding(.all, 4)
.background(.green)
.foregroundColor(.white)
.cornerRadius(4)
NavigationLink("셀룰러", destination: EmptyView())
}
}
만든 뒤 원래 들어가야 하는 List 내의 위치에 들어가서 설정한 뷰빌더의 이름을 넣기
2. @ViewBuilder 를 활용해서 반복문으로 만들어보기
같은 방식으로 뷰빌더를 작성한다.
제너릭이란 개념 필요
(추후 별도 글 첨부 예정)
@ViewBuilder
private func plainCell<V: View>(imgName: String, cellTitle: String, destination: @escaping () -> V) -> some View {
HStack {
Image(systemName: imgName)
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 20, height: 20)
.padding(.all, 4)
.background(.green)
.foregroundColor(.white)
.cornerRadius(4)
NavigationLink(cellTitle) {
destination()
}
}
}
같은은 방식으로 원하는 위치에 반복문 삽입
//뷰빌더 이름 (내가 설정한 요소들에 대한 내용){code}
plainCell(imgName: "moon.fill", cellTitle: "집중 모드") {
EmptyView()
}
반응형
'💻 Development > SwiftUI' 카테고리의 다른 글
[SwiftUI] 0912 우당탕탕 Scrumdinger 만들기 - 시작부터 카드뷰 그리기 (0) | 2023.09.12 |
---|---|
[SwiftUI] 0911 설정앱 만들기 중 알게된 것 4 - 리팩토링(Fin) (0) | 2023.09.11 |
[SwiftUI] 0907 설정앱 만들기 중 알게된 것 2 - UI그리기 (0) | 2023.09.08 |
[SwiftUI] 0906 설정앱 만들기 중 알게된 것 1 - UI그리기 (0) | 2023.09.06 |
[SwiftUI] withAnimation VS .animation (0) | 2023.08.02 |
댓글