docs/index.html
The iPhone mockup available here.
Just add the Source folder to your project.
or use CocoaPods with Podfile: ruby pod 'expanding-collection' or Carthage users can simply add to their Cartfile: github "Ramotion/expanding-collection"
import ExpandingCollection
Create UICollectionViewCell inherit from BasePageCollectionCell (recommend create cell with xib file)
Adding FrontView - add a view to YOURCELL.xib and connect it to @IBOutlet weak var frontContainerView: UIView!
@IBOutlet weak var frontConstraintY: NSLayoutConstraint! - add any desired uiviews to frontViewAdding BackView - repeat step 2 (connect outlets to @IBOutlet weak var backContainerView: UIView!, @IBOutlet weak var backConstraintY: NSLayoutConstraint!)
Cell example DemoCell
tag = 101 for any FrontView.subviews this view will be hidden during the transition animationCreate a UIViewController inheriting from ExpandingViewController
Register Cell and set Cell size:
override func viewDidLoad() {
itemSize = CGSize(width: 214, height: 264)
super.viewDidLoad()
// register cell
let nib = UINib(nibName: "NibName", bundle: nil)
collectionView?.registerNib(nib, forCellWithReuseIdentifier: "CellIdentifier")
}
extension YourViewController {
override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return items.count
}
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("CellIdentifier"), forIndexPath: indexPath)
// configure cell
return cell
}
}
override func viewDidLoad() {
itemSize = CGSize(width: 214, height: 264)
super.viewDidLoad()
// register cell
let nib = UINib(nibName: "CellIdentifier", bundle: nil)
collectionView?.registerNib(nib, forCellWithReuseIdentifier: String(DemoCollectionViewCell))
}
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
cell.cellIsOpen(!cell.isOpened)
}
func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath)
func scrollViewDidEndDecelerating(scrollView: UIScrollView)
func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {
super.collectionView(collectionView: collectionView, willDisplayCell cell: cell, forItemAtIndexPath indexPath: indexPath)
// code
}
func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
super.scrollViewDidEndDecelerating(scrollView: scrollView)
// code
}
Create a UITableViewController inheriting from ExpandingTableViewController
Set header height default 236
override func viewDidLoad() {
super.viewDidLoad()
headerHeight = ***
}
if cell.isOpened == true {
let vc: YourTableViewController = // ... create view controller
pushToViewController(vc)
}
popTransitionAnimation()Expanding collection is released under the MIT license. See LICENSE for details.
The project maintained by app development agency Ramotion Inc. See our other open-source projects or hire us to design, develop, and grow your product.
© 2016 AlexKalinkin. All rights reserved. (Last updated: 2016-06-10)
Generated by jazzy ♪♫ v0.5.0, a Realm project.