İçeriğe geç

SwiftUI ile Expandable List kullanımı

Merhabalar bu yazımda SwiftUI ile List içerisinde expand yapısını nasıl kullanabileceğinizi göstereceğim.

SwiftUI yeni versiyon ile List (TableView) içerisine children adı altında yeni itemler ekleyip, bunları kullanmamızı kolaylaştıracak bir güncelleme aldı. Bu güncelleme oldukça yararlı ve oldukça etkili bir şekilde kullanacağız. UIKit ile insert, delete row işlemi yaparak gerçekleştirdiğimiz işlemi SwiftUI otomatik ve basit hale getirmiş.

Aşağıda yazdığım örneği inceleyebilirsiniz.

İlk önce List için modelimizi oluşturalım.

struct ListApple: Identifiable {
    let id = UUID()
    let name: String
    let icon: String
    var items: [ListApple]?
    
    static let phone = ListApple(name: "iOS", icon: "phone")
    static let mac = ListApple(name: "macOS", icon: "macwindow")
    static let watch = ListApple(name: "watchOS", icon: "stopwatch")
    static let pad = ListApple(name: "ipadOS", icon: "gamecontroller")
    static let tv = ListApple(name: "tvOS", icon: "tv")
    
    static let listItems = ListApple(name: "Apple", icon: "globe", items: [ListApple.phone, ListApple.mac, ListApple.watch, ListApple.pad, ListApple.tv])
}

Sayfamız içerisindeki List ile bu modeli kullanabiliriz.

struct ContentView: View {
    let items: [ListApple] = [.listItems]
    
    var body: some View {
        List(items, children: \.items) { row in
            Image(systemName: row.icon)
            Text(row.name)
        }
        .accentColor(.black)
    }
}

 

Tarih:SwiftUI

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © 2020 Kenan Atmaca