TableFlip
  • October 7, 2023

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 animating, 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.

GitHub


View Github

#animation #ios #uitableview
YOU MIGHT ALSO LIKE...
ConfettiView

A SwiftUI View that emits confetti with user-defined shapes, images, and text.

SwiftUI Colour Wheel

A colour wheel made all in SwiftUI. There are 2 different colour wheels to choose from. The first main one ...

ColorPickerRing

A color picker implementation with color wheel appearance written in plain SwiftUI. It is compatible with UIColor and NSColor.

ASCollectionView

This repository is no longer maintained. Here's why: with the release of iOS 16 SwiftUI now enables most of the ...