Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pitiphong-p/CollectionViewShelfLayout
A UICollectionViewLayout subclass displays its items as rows of items similar to the App Store Feature tab without a nested UITableView/UICollectionView hack.
https://github.com/pitiphong-p/CollectionViewShelfLayout
Last synced: 10 days ago
JSON representation
A UICollectionViewLayout subclass displays its items as rows of items similar to the App Store Feature tab without a nested UITableView/UICollectionView hack.
- Host: GitHub
- URL: https://github.com/pitiphong-p/CollectionViewShelfLayout
- Owner: pitiphong-p
- License: mit
- Created: 2016-07-28T16:56:21.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-10-22T18:38:53.000Z (about 2 years ago)
- Last Synced: 2024-10-01T06:17:23.288Z (about 1 month ago)
- Language: Swift
- Homepage:
- Size: 49.8 KB
- Stars: 377
- Watchers: 8
- Forks: 30
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- fucking-awesome-swift - CollectionViewShelfLayout - A UICollectionViewLayout subclass displays its items as rows of items similar to the App Store Feature tab without a nested UITableView/UICollectionView hack. (Libs / UI)
- awesome-swift - CollectionViewShelfLayout - A UICollectionViewLayout subclass displays its items as rows of items similar to the App Store Feature tab without a nested UITableView/UICollectionView hack. (Libs / UI)
- awesome-swift - CollectionViewShelfLayout - A UICollectionViewLayout subclass displays its items as rows of items similar to the App Store Feature tab without a nested UITableView/UICollectionView hack. ` 📝 2 years ago` (UI [🔝](#readme))
- awesome-swift - CollectionViewShelfLayout - A UICollectionViewLayout subclass displays its items as rows of items similar to the App Store Feature tab without a nested UITableView/UICollectionView hack. (Libs / UI)
README
# CollectionViewShelfLayout
A UICollectionViewLayout subclass displays its items as rows of items similar to the App Store Feature tab without a nested UITableView/UICollectionView hack. You can use a single data source for all of your contents. Each section displays its items in a row. `CollectionViewShelfLayout` supports collection view's *header view and footer view* similar to table view's *tableHeaderView and tableFooterView* also *sections' header and footer views* too.![CollectionViewShelfLayout screenshot](https://cocoacontrols-production.s3.amazonaws.com/uploads/control_image/image/9666/CollectionViewShelfLayout_small.png)
# Requirements
- iOS 9+
- Swift 4.0+This requirement is due to usage of some Auto Layout APIs available in iOS 8 and 9 or later.
If you want to use `CollectionViewShelfLayout` in iOS 8, you can replace NSLayoutAnchor usage with other APIs.# Installation
## Manaully
This project comes with built in *`CollectionViewShelfLayout framework`* target. You can drag `CollectionViewShelfLayout.xcproj` file into your project, add `CollectionViewShelfLayout framework` target as a target dependency and link/embed that framework. and Voila!!!
````swift
import CollectionViewShelfLayout
````
## CocoaPods
Add the following to your `Podfile`
````ruby
pod 'CollectionViewShelfLayout'
use_frameworks!
````
## Carthage
Add the following to your `Cartfile`
````ruby
github "pitiphong-p/CollectionViewShelfLayout"
````
## Swift 2
You can use CollectionViewShelfLayout in Swift 2.2 by checking out tag `0.5.5`
## Swift 4.0
You can use CollectionViewShelfLayout in Swift 4.0 by checking out tag `0.6.4`
## Swift 4.2
You can use CollectionViewShelfLayout in Swift 4.0 by checking out tag `0.6.5`# Usage
Set collecion view's layout to an instance of `CollectionViewShelfLayout`. Set the layout's properties you want (eg. cellSize). You can set its layout both via code or `Storyboard`.
````swift
let shelfLayout = CollectionViewShelfLayout()
shelfLayout.itemSize = CGSize(width: 100, height: 180)
collectionView.collectionViewLayout = shelfLayout
````# Demo App
`CollectionViewShelfLayout` project comes with a demo app target. You can see `CollectionViewShelfLayout` in action by just running `AppStoreCollectionViewLayout-Demo` demo app target.
# Contact
Pitiphong Phongpattranont
- [@pitiphong_p on Twitter] (https://twitter.com/pitiphong_p)# License
`CollectionViewShelfLayout` is released under an MIT License.
Copyright © 2016-present Pitiphong Phongpattranont.