A UICollectionViewLayout subclass that displays items in horizontal rows like the App Store Feature tab without nested table/collection hacks.
CollectionViewShelfLayout is a custom UICollectionViewLayout subclass for iOS that arranges items into horizontal rows, similar to the App Store's Feature tab layout. It solves the problem of creating shelf-style interfaces without resorting to nested UITableView or UICollectionView hacks, providing a performant and maintainable solution for complex collection views.
iOS developers building apps that require horizontal scrolling shelf layouts, particularly those creating media catalogs, app stores, or content discovery interfaces similar to Apple's App Store design.
Developers choose CollectionViewShelfLayout because it provides a dedicated, optimized layout class that eliminates complex view hierarchy workarounds, supports a single data source for all content, and includes comprehensive header/footer support while maintaining native UICollectionView performance.
A UICollectionViewLayout subclass displays its items as rows of items similar to the App Store Feature tab without a nested UITableView/UICollectionView hack.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements App Store-like horizontal rows without nested UITableView/UICollectionView hacks, simplifying view hierarchies and boosting performance, as highlighted in the README's philosophy.
Supports a single data source for all content, eliminating the need for multiple data sources or workarounds, making data management cleaner and more maintainable.
Includes collection view and section-specific headers and footers, similar to UITableView, providing flexibility for structured interfaces without extra coding.
Built with modern Auto Layout APIs (iOS 9+), ensuring seamless integration with contemporary iOS development, with backward compatibility options for iOS 8 mentioned in the README.
Primarily targets iOS 9+, and supporting iOS 8 requires manually replacing NSLayoutAnchor APIs, adding development overhead and potential bugs.
Supports multiple Swift versions via separate tags (e.g., 0.5.5 for Swift 2.2), leading to confusion and maintenance challenges when upgrading projects.
Focused solely on horizontal shelf layouts; it lacks support for other UICollectionViewLayout patterns, restricting its use to specific interface types.
The README provides minimal examples and no detailed API reference, which may hinder implementation and debugging for complex use cases.