UICollectionViewLayout that performs scaling up and down automatically on disappearing cells, and applies UIDynamics.
Switch branches/tags
Clone or download



Version License Platform Bitdeli Badge


SACollectionViewVerticalScalingFlowLayout applies scaling up or down effect to appearing or disappearing cells. In addition, animation of UIDynamics applies each cell.

sample1 sample2

ManiacDev.com referred.


  • Vertical Scaling
  • Rewrite in Swift
  • Support Horizonal Scaling
  • Supoort Swift2.3
  • Support Swift3



SACollectionViewVerticalScalingFlowLayout is available through CocoaPods. If you have cocoapods 1.1.0.rc.2 or greater, you can install it, simply add the following line to your Podfile:

pod "SACollectionViewVerticalScalingFlowLayout"


To run the example project, clone the repo, and run pod install from the Example directory first.

From Storyboard or Xib

Go to 'Attributes Inspector' of Storyboard or Xib, and set Layout tab 'Custom'. And set class tab 'SACollectionViewVerticalScalingFlowLayout'.


From Code

Write this code at viewDidLoad method and so on.

collectionView.registerClass(SACollectionViewVerticalScalingCell.self, forCellWithReuseIdentifier:kCellIdentifier)
let layout = SACollectionViewVerticalScalingFlowLayout()
layout.scaleMode = .hard
layout.alphaMode = .easy
layout.scrollDirection = .Vertical
collectionView.collectionViewLayout = layout

if you want to use Horizontal mode.

layout.scrollDirection = .horizontal


You can customize scaling and alpha of apearing or disapering cells.

For Scale

You can change alpha to set ScaleModeType for scaleMode property of SACollectionViewVerticalScalingFlowLayout.(default: .easy)

var scaleMode: SACollectionViewVerticalScalingFlowLayoutScaleMode

enum SACollectionViewVerticalScalingFlowLayoutScaleMode {
    case none, easy, hard

For Alpha

You can change alpha to set AlphaModeType for alphaMode property of SACollectionViewVerticalScalingFlowLayout. (default: .easy)

var alphaMode: SACollectionViewVerticalScalingFlowLayoutScaleMode
enum SACollectionViewVerticalScalingFlowLayoutAlphaMode {
    case none, easy, hard

For Cell

You use containerView instead of contentView like this code, then you can add what kind of view you want to add.

let cell = collectionView.dequeueReusableCellWithReuseIdentifier(kCellIdentifier, forIndexPath: indexPath)
let imageView = UIImageView(frame: cell.bounds)
imageView.image = UIImage(named: "cat")


  • Xcode 8 or greater
  • iOS 8 or greater
  • ARC


Taiki Suzuki, s1180183@gmail.com


SACollectionViewVerticalScalingFlowLayout is available under the MIT license. See the LICENSE file for more info.