TableFlip
(╯°□°)╯︵ ┻━┻
┬──┬ ノ( ゜-゜ノ)
Animations are cool. UITableView isn't. So why not make animating UITableView cool?
The entire API for TableFlip consists of an animation, and a call to animate. It's as simple as that.
TableFlip takes the annoying nature of reloading UITableViews, maintaining state, and anminating, and minimizes it to two lines of code.
If you want to animate every cell consecutively, the code will look like this.
self.tableView.reloadData()
self.tableView.animate(animation: myCoolCellAnimation)
And if you want to animate the entire table view at once, the code will look like this:
self.tableView.reloadData()
self.tableView.animate(animation: myCoolTableAnimation)
Animations are completely customizable and configurable. TableFlip provides a few built-in defaults that work nicely out the box, if you don't want to make your own.
Let's look at some examples
Animating from the left with a nice staggered effect:
TableViewAnimation.Cell.left(duration: 0.5)
Pushing from the top can make a nice initial loading effect:
TableViewAnimation.Table.top(duration: 0.8)
A simple fade is always elegant:
TableViewAnimation.Cell.fade(duration: 1.0)
And you can make your own transform, as fun or weird as you want by using CGAffineTransform:
let degrees = sin(90.0 * CGFloat.pi/180.0)
let rotationTransform = CGAffineTransform(rotationAngle: degrees)
let flipTransform = CGAffineTransform(scaleX: -1, y: -1)
let customTransform = rotationTransform.concatenating(flipTransform)
let customAnimation = TableViewAnimation.Cell.custom(duration: 0.6, transform: customTransform, options: .curveEaseInOut)
self.tableView.animate(animation: customAnimation, completion: nil)
Requirements
- iOS 8.0+
- Xcode 10.0+
- Swift 4.2
Installation
You can use CocoaPods to install TableFlip
by adding it to your Podfile
:
platform :ios, '8.0'
use_frameworks!
pod 'TableFlip'
Or install it manually by downloading UITableView+Animations.swift
and dropping it in your project.
About me
Hi, I'm Joe everywhere on the web, but especially on Twitter.
License
See the license for more information about how you can use TableFlip.
P.S.
If all you liked was the kitty, that's my baby Gif. Feel free to follow her on the Instagram.