Skip to content

A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻

License

Notifications You must be signed in to change notification settings

mergesort/TableFlip

Repository files navigation

TableFlip

(╯°□°)╯︵ ┻━┻

┬──┬ ノ( ゜-゜ノ)


Pod Version Swift Version License MIT Plaform

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.

About

A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published