ReactComponentKit / ListKit

DSL for UICollectionViewCompositionalLayout
MIT License
30 stars 1 forks source link

Support for UICollectionViewListLayout? #4

Open niklasgrewe opened 2 years ago

niklasgrewe commented 2 years ago

Hi, thank you very much to simplify the process of defining and updating UICollectionView Compositional Layout 👍 Does ListKit also supports UICollectionView List Layout, which is available since iOS 14? I would be very happy about this because then we can use UIKit APIs for Swipe Actions and don't have to use libraries like SwipeCellKit...

maybe like this:

renderer.render {
    Section(id: Sections.main) {
        if todos.isEmpty {
            VGroup(width: .fractionalWidth(1.0), height: .estimated(30)) {
                EmptyComponent(title: "Add New Todo!")
            }
        } else {
            List(of: todos) { todo in
                TodoComponent(todo: todo) { [weak self] t in
                    self?.todos.removeAll(where: { $0 == t })
                }
            }
            .listAppearance(.insetGrouped)
        }
    }
}

List is the class to create a new UICollectionViewListLayout with an Anppearance . It would be nice, if List can support both custom cells and default UICollectionViewListCell with content and background configuration.

The following article is a good starting point: https://swiftsenpai.com/development/uicollectionview-list-basic/

Let me know what you think about it. Carbon uses UITableView, but since iOS 14, there is no need to do this, because you can do everthing with UICollectionView.

skyfe79 commented 2 years ago

Thanks for your great suggestion. I want to support UICollectionView List Layout but I think it will take some time. 😭

niklasgrewe commented 2 years ago

@skyfe79 Hi any news about it?