꾸준히 안타치기

스윗한 swiftUI - List(UIkit의 TableView) 본문

iOS/SwiftUI

스윗한 swiftUI - List(UIkit의 TableView)

글자줍기 2023. 3. 4. 23:53
반응형
UIKit SwiftUI
TableView List
Cell (테이블뷰 셀) Row
UICollectionView X

List 동적 컨텐츠를 생성하는 방법 (스윗한 swiftUI 178P~ )

1. Range<Int>타입의 값을 넘겨주는 방법

2. RandomAccessCollection프로토콜을 준수하는 데이터를 제공하는것

3. ForEash( 정적+ 동적 모두 가능 )

import SwiftUI

struct ListEx: View {
    
    let fruits = ["사과","딸기","포도","바나나","복숭아"]
    let drinks = ["아메리카노","카페라테","에스프레소"]
    
    var body: some View {
        List{
            Text("Fruits").font(.largeTitle)
            ForEach(fruits, id: \.self){
                Text($0)
            }
            
            Text("Drinks").font(.largeTitle)
            ForEach(drinks, id: \.self){
                Text($0)
            }
        }
    }
}

struct ListEx_Previews: PreviewProvider {
    static var previews: some View {
        ListEx()
    }
}

 

Section을 이용해 그룹화 ( 186p ~)

ListStyle - DefaultListStyle(), PlainListStyle(),GropedListStyle()

import SwiftUI

struct ListEx: View {

    let fruits = ["사과","딸기","포도","바나나","복숭아"]
    let drinks = ["아메리카노","카페라테","에스프레소"]
    
    var body: some View {
        let titles = ["Fruits", "Drinks"]
        let data = [fruits, drinks]
        
        return List {
            ForEach(data.indices) { index in
                Section(
                header: Text(titles[index]).font(.title),
                footer: HStack { Spacer(); Text("\(data[index].count)건")}
                ){
                    ForEach(data[index], id: \.self){
                        Text($0)
                    }
                }
            }
        }.listStyle(GroupedListStyle())
    }
}
반응형

'iOS > SwiftUI' 카테고리의 다른 글

지오메트리 리더( 크기와 위치 관련 )  (0) 2023.03.06
Comments