VBPiledView
  • October 6, 2023

simple but highly effective animation and interactivity!

By v-braun – viktor-braun.de.

Preview


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:

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


GitHub


View Github

#cocoapods #collectionview #ios #swift #uicollectionview #uitableview
YOU MIGHT ALSO LIKE...
PermissionsSwiftUI: A SwiftUI package to handle permissions

PermissionsSwiftUI displays and handles permissions in SwiftUI. It is largely inspired by SPPermissions. The UI is highly customizable and resembles an Apple style. ...

Pager tab strip view

Introduction PagerTabStripView is the first pager view built in pure SwiftUI. It provides a component to create interactive pager views ...

PageView

SwiftUI view enabling page-based navigation, imitating the behaviour of UIPageViewController in iOS.

Pages

    

How to take action when a property changes

1. Taking Action When a Property Changes: Property Observers Swift lets you observe and respond to changes in a property’s ...