SwiftUI/Views

[SwiftUI] TabView / PageTabViewStyle / ForEach

_히처리_ 2023. 9. 17. 18:43

SwiftUI의 TabView는 PageTabViewStyle을 제공한다.

 

다음 코드는 CoreData의 모델을 PageTabViewStyle로 만든 코드가 된다. 

indexViewStyle도 추가해서 하단에 인덱스뷰도 보이게 했다.

struct ContentView: View {
    @Environment(\.managedObjectContext) private var viewContext

    @FetchRequest(
        sortDescriptors: [NSSortDescriptor(keyPath: \Item.name, ascending: true)],
        animation: .default)
    private var items: FetchedResults<Item>

    var body: some View {
        TabView {
            ForEach(items) { item in
                Text(item.name!)
            }
        }
        .tabViewStyle(PageTabViewStyle())
        .indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))
    }