A simple iOS checklist component for single or multiple selection, built on UITableView.
SelectionList is an open-source iOS UI component that provides a simple checklist interface for single or multiple item selection. It is built on top of UITableView and offers customizable appearance options, making it easy to implement selection lists in iOS apps without building from scratch.
iOS developers using Swift and UIKit who need to implement checklist or selection interfaces in their applications, particularly those looking for a lightweight, customizable alternative to building custom UITableView selection logic.
Developers choose SelectionList because it provides a ready-to-use, customizable checklist component that reduces boilerplate code, leverages native UITableView performance, and simplifies the implementation of both single and multiple selection interfaces.
Simple single-selection or multiple-selection checklist, based on UITableView
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built directly on UITableView, ensuring performance and compatibility with iOS table view patterns, as highlighted in the Key Features section.
Offers straightforward properties like selectedIndex and selectedIndexes for easy single and multiple selection handling, demonstrated in the Usage and Multiple Selection code snippets.
Allows modification of icons, row height, and cell styling through properties such as selectionImage and setupCell, detailed in the Changing Appearance section.
Supports installation via CocoaPods and Swift Package Manager, with minimal code setup as shown in the Usage example.
Limited to UIKit and iOS 9+, making it unsuitable for SwiftUI or cross-platform development, as stated in the Requirements.
Focuses on core selection logic without built-in support for search, filtering, or advanced interactions, requiring additional development for complex needs.
README provides basic examples but lacks in-depth guides, error handling, or best practices for edge cases like dynamic data updates.