• Stars
    star
    552
  • Rank 80,595 (Top 2 %)
  • Language
    Swift
  • License
    MIT License
  • Created about 8 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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.

More Repositories

1

Boutique

✨ A magical persistence library (and so much more) for state-driven iOS and Mac apps ✨
Swift
774
star
2

Public-Extension

🔧 A weekly log of handy Swift extensions
Swift
298
star
3

Bodega

A simple store for all your basic needs, and a foundational data layer primitive for iOS and Mac apps. 🐱
Swift
252
star
4

Slope

A simpler way to implement gradients on iOS.
Swift
238
star
5

FeedbackEffect

A library for playing sounds and providing haptic feedback with ease.
Swift
225
star
6

GenericCells

Creating generic UITableViewCells and UICollectionViewCells instead of subclasses.
Swift
82
star
7

Anchorman

An autolayout library for the damn fine citizens of San Diego.
Swift
79
star
8

TypedNotifications

A mechanism for sending typed notifications with payloads across your iOS app.
Swift
76
star
9

MVCS

Swift
51
star
10

UILabel-ContentSize

Get the content size of a UILabel with text, because I always forget how to and want to have it in one god damn place.
Objective-C
44
star
11

CrossPromoter

A control which allows you to display an app to cross promote within your own app.
Objective-C
36
star
12

Communicado

A simpler way to share on iOS.
Swift
26
star
13

Shortcat

Navigate UITableViews using a keyboard with cat-like agility 🐱
Swift
12
star
14

Modem

A routing, serialization, and deep link handling framework all wrapped up in one
Swift
9
star
15

slack-themes

Slack Themes I've made and use
8
star
16

UIView-BezierCurve

Round individual corners of a UIView
Objective-C
7
star
17

UIViewController-StoreKit

A category on UIViewController allowing you to pull up an iTunes item with just one method
Objective-C
7
star
18

UIViewController-Sharing

A category on UIViewController for adding sharing options
Objective-C
6
star
19

UIControl-Notifications

Make your UIControls respond to notifications and blocks instead of the old fashioned target+selector approach
Objective-C
5
star
20

Launchpad

A better way to handle SwiftUI app launch
Swift
5
star
21

QuickNote

A scratch pad notification center widget for jailbroken iOS 5/6
Objective-C
4
star
22

iMessageFormatter

An Applescript to autoformat sentences with a capital letter and period at the end
AppleScript
4
star
23

UIDevice-Hardware

Category on UIDevice for accessing hardware information
Ruby
3
star
24

RequestBuilder

A library to help you build network requests atop URLSession
Swift
3
star
25

bot-of-conduct

JavaScript
3
star
26

JFTextFieldTableCell

A UITableViewCell subclass which supports inline editing, block handlers, and other niceties.
Objective-C
3
star
27

Podcatcher

A library for interacting with iOS Podcast apps
Objective-C
2
star
28

is-ci-busted

Is Ci Busted? Who even knows.
JavaScript
2
star
29

NSObject-Builder

Use the builder pattern with a category on NSObject
Ruby
2
star
30

QuickTweet

Add a quick way to send tweets from iOS's Notification Center.
2
star
31

UIImage-Transforms

Transforms on UIImage
Objective-C
2
star
32

JFFileManager

Class methods which make dealing with files on iOS easier.
Objective-C
2
star
33

NSString-Validation

A category on NSString for checking validity and transforming strings
Objective-C
2
star
34

SML

Random code I've done in SML for class
Standard ML
1
star
35

dropcaster-feed-seeder

Ruby
1
star
36

Google-Trends-Scraper

Get the list of google trends for every day from a certain point in time.
PHP
1
star
37

liftoff

Templates and Configuration for Liftoff
Swift
1
star
38

Project-Euler

My Objective-C implementation of the Project Euler solutions.
Objective-C
1
star
39

iosfolks.com

1
star
40

WebViewController

A simple web view controller, because everyone has their own version, but this one is simple with minimal chrome, and supports sharing out the box.
Objective-C
1
star
41

Response

An interface for creating a JSON response simply from a string
Go
1
star
42

NSDictionary-Networking

A category on NSDictionary for adding functionality when you're interacting with networking
Objective-C
1
star
43

Rerelease

A What's New screen, and more
Swift
1
star