반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- init?
- nestjs
- swift6
- typeorm
- vim
- nonisolated
- @Environment
- subject
- init
- dismiss
- IOS
- Bug
- SWIFT
- @EnvironmentObject
- ios14
- @State
- NavigationLink
- RxCocoa
- @Binding
- Operater
- NullObject
- operator
- RxSwift
- Creating Operators
- Xcode
- URL(string:)
- Operators
- RFC1738/1808
- graphql
- SwiftUI
Archives
- Today
- Total
Tunko Development Diary
[SwiftUI] List 정리 (1) 본문
List 뷰는 수직 방향의 목록 형태로 사용자에게 정보를 제공하는 방법을 제공한다. 리스트 항목은 사용자가 터치했을 때 앱의 다른 영역으로 이동하곤 한다. 이런 행동은 NavigationView 컴포넌트와 NavigationLink 컴포넌트를 사용하여 구현된다. 현재 게시글에선 다루지 않는다.
List뷰는 정적 데이터와 동적 데이터를 모두 표현할 수 있으며, 추가 ,삭제, 항목 순서 재정렬 작업을 할 수 있도록 확장되기도 한다.
List
List 컨트롤은 셀(cell)에 포함된 하나 이상의 뷰의 각 행을 수직 방향의 목록으로 정보를 표현하는 UIKit의 TableView 클래스와 비슷한 기능을 제공한다.
struct ContentView: View {
var body : some View {
List {
Test("text1")
Test("text2")
Test("text3")
Test("text4")
Test("text5")
}
}
}
위 상황은 정적 데이터를 그대로 화면에 출력시킨 결과이다.
그렇다면 동적 데이터를 화면에 출력시켜 보자
우선 동적 데이터라고 하는게 거창한건 아니다. 그저 배열에 있는 데이터를 불러다 출력하는 것이다.
이번엔 리스트에 들어갈 Cell View 도 추가해 보았다.
Model
struct ToDoItem : Identifiable
{
var id = UUID()
var task : String
var imageName : String
}
View
struct TestListContent: View {
var listData : [ToDoItem] = []
init()
{
for index in 1...15 {
listData.append(ToDoItem(task: "task\(index)", imageName: "command"))
}
}
var body: some View {
VStack{
List(listData) { item in
TestListCell(item)
}
}
}
}
Cell View
import SwiftUI
struct TestListCell: View {
var item: ToDoItem?
init(_ item: ToDoItem) {
self.item = item
}
var body: some View {
HStack {
Image(systemName: item!.imageName)
Spacer()
Text("\(item!.task)")
}
}
}
반응형
'Development > iOS 개발' 카테고리의 다른 글
[SwiftUI] List - Header, Footer 추가하기 (0) | 2021.02.26 |
---|---|
[SwiftUI] iOS14 SwiftUI 2.0 List 구분선(separator line) 없애기 (0) | 2021.02.24 |
[swift] Equatable 프로토콜 정리 (0) | 2021.02.23 |
[SwiftUI] Environment 객체 정리 (0) | 2021.02.23 |
[SwiftUI] Observable 객체 정리 (0) | 2021.02.22 |
Comments