Skip to content
Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu
Swift Ruby Objective-C
Branch: master
Clone or download
Latest commit c914f56 Dec 25, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Example swift 4 migration Nov 12, 2017
VBPiledView.xcworkspace inital commit Jul 2, 2016
VBPiledView swift 4 migration Nov 12, 2017
.gitignore Initial commit Jul 2, 2016
LICENSE Initial commit Jul 2, 2016
README.md Update README.md Dec 25, 2018
VBPiledView.podspec Release 1.4 Nov 12, 2017
screen.gif inital commit Jul 2, 2016

README.md

VBPiledView

simple but highly effective animation and interactivity!

By v-braun - viktor-braun.de.

CocoaPods

Preview

image

Description

Very simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu.

Inspired by this post from ULTRALINX:

image

Installation

CocoaPods

VBPiledView is available on CocoaPods. Just add the following to your project Podfile:

pod 'VBPiledView', '~> 1.4'

Or from GitHub:

pod 'VBPiledView', :git => 'https://github.com/v-braun/VBPiledView.git'

Manually

  1. Download and drop VBPiledView.swift in your project.
  2. Congratulations!

Usage

See the Example Project.

Here is a sample ViewController that use the VBPiledView:

import VBPiledView
class ViewController: UIViewController, VBPiledViewDataSource {

    @IBOutlet var piledView: VBPiledView!
    
    private var _subViews = [UIView]()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        _subViews.append(UIImageView(image: UIImage(named: "ant.jpg")))
        _subViews.append(UIImageView(image: UIImage(named: "bigban.jpg")))
        _subViews.append(UIImageView(image: UIImage(named: "leopard.jpg")))
        _subViews.append(UIImageView(image: UIImage(named: "libertystate.jpg")))
        _subViews.append(UIImageView(image: UIImage(named: "Moonrise.jpg")))
        _subViews.append(UIImageView(image: UIImage(named: "photographer.jpg")))
        
        for v in _subViews{
            v.contentMode = UIViewContentMode.ScaleAspectFill
            v.clipsToBounds = true
            v.backgroundColor = UIColor.grayColor()
        }
        
        piledView.dataSource = self
    }
    
    func piledView(numberOfItemsForPiledView: VBPiledView) -> Int {
        return _subViews.count
    }
    
    func piledView(viewForPiledView: VBPiledView, itemAtIndex index: Int) -> UIView {
        return _subViews[index]
    }
}

Configuration

The sizes of an expanded item and of all collapsed items can be configured relative to the size of the VBPiledView.

self.piledView.expandedContentHeightInPercent = 70 // expanded content height -> 70% of screen
self.piledView.collapsedContentHeightInPercent = 15 // collapsed content heigt of single item -> 15% of screen

Related Projects

Known Issues

If you discover any bugs, feel free to create an issue on GitHub fork and send me a pull request.

Issues List.

Authors

image
v-braun

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

See LICENSE.

You can’t perform that action at this time.