• Stars
    star
    1,877
  • Rank 24,692 (Top 0.5 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created about 11 years ago
  • Updated almost 5 years ago

Reviews

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

Repository Details

A library of custom iOS View Controller Animations and Interactions.

RZTransitions

Build Status

RZTransitions is a library to help make iOS7 custom View Controller transitions slick and simple.

Overview

Installation

CocoaPods (Recommended)

Add the following to your Podfile:

pod 'RZTransitions'

RZTransitions follows semantic versioning conventions. Check the releases page for the latest updates and version history.

Manual Installation

Copy and add all of the files in the RZTransitions directory (and its subdirectories) into your project.

Setting a New Default Transition

Swift

RZTransitionsManager.shared().defaultPresentDismissAnimationController = RZZoomAlphaAnimationController()
RZTransitionsManager.shared().defaultPushPopAnimationController = RZCardSlideAnimationController()

Objective-C

id<RZAnimationControllerProtocol> presentDismissAnimationController = [[RZZoomAlphaAnimationController alloc] init];
id<RZAnimationControllerProtocol> pushPopAnimationController = [[RZCardSlideAnimationController alloc] init];
[[RZTransitionsManager shared] setDefaultPresentDismissAnimationController:presentDismissAnimationController];
[[RZTransitionsManager shared] setDefaultPushPopAnimationController:pushPopAnimationController];

When Presenting a View Controller

Swift

self.transitioningDelegate = RZTransitionsManager.shared()
let nextViewController = UIViewController()
nextViewController.transitioningDelegate = RZTransitionsManager.shared()
self.presentViewController(nextViewController, animated:true) {}

Objective-C

[self setTransitioningDelegate:[RZTransitionsManager shared]];
UIViewController *nextViewController = [[UIViewController alloc] init];
[nextViewController setTransitioningDelegate:[RZTransitionsManager shared]];
[self presentViewController:nextViewController animated:YES completion:nil];

When creating a Navigation Controller ( or use RZTransitionsNavigationController )

Swift

let navigationController = UINavigationController()
navigationController.delegate = RZTransitionsManager.shared()

Objective-C

UINavigationController *navigationController = [[UINavigationController alloc] init];
[navigationController setDelegate:[RZTransitionsManager shared]];

Specifying Transitions for Specific View Controllers

Swift

RZTransitionsManager.shared().setAnimationController( RZZoomPushAnimationController(),
    fromViewController:self.dynamicType,
    toViewController:RZSimpleCollectionViewController.self,
    forAction:.PushPop)

Objective-C

// Use the RZZoomPushAnimationController when pushing from this view controller to a
// RZSimpleCollectionViewController or popping from a RZSimpleCollectionViewController to
// this view controller.
[[RZTransitionsManager shared] setAnimationController:[[RZZoomPushAnimationController alloc] init]
                                   fromViewController:[self class]
                                     toViewController:[RZSimpleCollectionViewController class]
                                            forAction:RZTransitionAction_PushPop];

Hooking up Interactors

Swift

override func viewDidLoad() {
    super.viewDidLoad()

    self.presentInteractionController = RZVerticalSwipeInteractionController()
    if let vc = self.presentInteractionController as? RZVerticalSwipeInteractionController {
        vc.nextViewControllerDelegate = self
        vc.attachViewController(self, withAction:.Present)
    }
}

override func viewWillAppear(animated: Bool)
{
    super.viewWillAppear(animated)
    RZTransitionsManager.shared().setInteractionController( self.presentInteractionController,
        fromViewController:self.dynamicType,
        toViewController:nil,
        forAction:.Present)
}

Objective-C

@property (nonatomic, strong) id<RZTransitionInteractionController> presentInteractionController;

- (void)viewDidLoad
{
   [super viewDidLoad];
	// Create the presentation interaction controller that allows a custom gesture
	// to control presenting a new VC via a presentViewController
   self.presentInteractionController = [[RZVerticalSwipeInteractionController alloc] init];
   [self.presentInteractionController setNextViewControllerDelegate:self];
   [self.presentInteractionController attachViewController:self withAction:RZTransitionAction_Present];
}

- (void)viewWillAppear:(BOOL)animated
{
   [super viewWillAppear:animated];
	//  Use the present interaction controller for presenting any view controller from this view controller
   [[RZTransitionsManager shared] setInteractionController:self.presentInteractionController
                                        fromViewController:[self class]
                                          toViewController:nil
                                                 forAction:RZTransitionAction_Present];
}

Features

  • A comprehensive library of animation controllers
  • A comprehensive library of interaction controllers
  • Mix and match any animation controller with any interaction controller
  • A shared instance manager that helps wrap the iOS7 custom transition protocol to expose a friendlier API

You can use any of the animation controllers or interaction controllers without the RZTransitionsManager and simply use them with the iOS7 custom View Controller transition APIs.

Maintainers

arrouse (@arrouse88)

nbonatsakis (@nickbona)

dostrander (@_Derko)

markpragma (@markpragma )

rztakashi

Contributors

smbarne (@smbarne)

License

RZTransitions is licensed under the MIT license. See the LICENSE file for details.

More Repositories

1

BonMot

Beautiful, easy attributed strings in Swift
Swift
3,538
star
2

Anchorage

A collection of operators and utilities that simplify iOS layout code.
Swift
628
star
3

RZDataBinding

Lightweight KVO-based data binding options.
Objective-C
543
star
4

Eject

An eject button for Interface Builder to generate swift code
Swift
523
star
5

RZCellSizeManager

Dynamic size computation and caching for cells.
Objective-C
242
star
6

Swiftilities

A collection of useful Swift utilities.
Swift
184
star
7

BentoMap

Map Clustering for Swift.
Swift
182
star
8

AndroidDatabaseLibraryComparison

Java
148
star
9

RZBluetooth

Core Bluetooth helper library
Objective-C
136
star
10

Singleton

135
star
11

RZUtils

Rightpoint Commonly Used Tools
Objective-C
122
star
12

Parser

112
star
13

RZViewActions

A category on UIView that provides animation structure similar to SKAction from SpriteKit.
Objective-C
103
star
14

ios-template

A `cookiecutter` template for iOS projects
Swift
94
star
15

RaisinToast

A UIWindow subclass used to message information to the users of your app.
Objective-C
83
star
16

FRY

UIKit Integration Library
Objective-C
77
star
17

rust-universal-template

Template for creating Rust libraries with bindings to iOS, Android, WebAssembly and more
Shell
58
star
18

UniversalAdapter

A single adapter implementation for any scrolling view or ViewGroup.
Java
53
star
19

ARKit-CoreML

Utilities and examples for using CoreML in conjunction with ARKit
Swift
47
star
20

RZCollectionList

A framework for dealing with displaying data from Core Data and other sources in UITableViews.
Objective-C
44
star
21

FreshAir-Android

Java
41
star
22

RIGImageGallery

An image gallery view controller designed to work with the Raizlabs Interface Guidelines for iOS
Swift
40
star
23

CardParser

Credit Card Type Parsing for Swift
Swift
40
star
24

Raizlabs-Android-Style

The Raizlabs Android Style Guide
38
star
25

RZAndroidBaseUtils

Base Utility set for Android applications
Java
36
star
26

RZTouchID

Basic TouchID implementation
Objective-C
34
star
27

Griddle

Groovy
34
star
28

Raizlabs-Cocoa-Style

The Raizlabs iOS Style Guide
Objective-C
32
star
29

ViewHolderInflater

31
star
30

android-template

A `cookiecutter` template for Android projects
Kotlin
28
star
31

RZTweenSpirit

Piecewise tweening/animation library for iOS
Objective-C
25
star
32

DebugModule

Java
22
star
33

Shift

A library of custom iOS View Controller Animations and Interactions written in Swift.
Swift
22
star
34

RZVinyl

Stack management, ActiveRecord utilities, and seamless importing for Core Data
Objective-C
21
star
35

Broker

21
star
36

RZDebugMenu

Configurable debug menu for iOS apps
Objective-C
20
star
37

Raze

A supplemental graphics engine for apps
Objective-C
20
star
38

RZImport

Automatic importing of data from NSDictionary to Cocoa objects
Objective-C
18
star
39

Stackable

Supercharged UIStackViews for Swift
Swift
18
star
40

AndroidWebServiceManager

Java
17
star
41

RZIntrinsicContentSizeTextView

Objective-C
17
star
42

RZSafariKeychain

A simple implementation of Safari Keychain
Objective-C
17
star
43

RZSplitViewController

A custom iOS SplitViewController.
16
star
44

FrictionLess

A collection of UX-focused swift components for reducing friction in "user work".
Swift
15
star
45

BoardingPass

A navigation controller interactive pan to push and pop.
Swift
14
star
46

WebServiceManager

13
star
47

ViewState

Small library for lightweight UIView and UIViewController state management on iOS
Swift
12
star
48

Pourcast

JavaScript
12
star
49

SketchyCode

An experimental tool to generate Swift code from Sketch files
Swift
12
star
50

CoreUtils

Java
12
star
51

UniversalFontComponents

A library that allows you to set a custom font in xml for all your TextViews
Java
11
star
52

opencv-swift

OpenCV / Swift Package Manager / XCFramework / Podspec
Ruby
10
star
53

RZNumberPad

Never write a custom number pad from scratch again.
Objective-C
9
star
54

conference-room

Conference room management system
C#
9
star
55

CompoundComponents

Android sample project that shows how to use Compound Components to make reusable UI. Also shows examples for creating reusable UI with the <include> tag and with Fragments.
Java
9
star
56

Geode

Location management made easy.
Swift
8
star
57

RZPoseurWebView

RZPoseurWebView
7
star
58

RZAssert

Useful assertion macros from the fine folks at Raizlabs.
Objective-C
7
star
59

RZEffects

Apply shader effects to UIKit elements.
7
star
60

RZBuildScripts

Xcode command line build script for building/signing/packaging iOS builds
Ruby
7
star
61

ai-discipline-ollama-rag

Python
7
star
62

Actionable

A cleaner delegation pattern for iOS.
Swift
6
star
63

RZOpenGL

Raizlabs OpenGL Library
6
star
64

localizable

Swift command line utility to take a CSV input of strings and output localizable string formats for iOS/macOS and Android.
Swift
5
star
65

RZKeychain

Easy keychain manipulation in iOS
4
star
66

FreshAir

Objective-C
4
star
67

RZLogin

A Reusable Login View Controller.
4
star
68

sample-scrolling-controls-ios

Sample code for a blog post about controls in scroll views on iOS
Swift
4
star
69

RZArrayCandy

Some functional sugar for your NSArrays
4
star
70

RZCollectionTableView

A UICollectionView that behaves like a UITableView
4
star
71

RZMapView

Simple custom mapping for iOS
Objective-C
4
star
72

sample-smart-animated-deselection-ios

Sample code for a blog post on smarter animated deselection on iOS
Swift
4
star
73

sample-float-remapping-ios

Sample code for a blog post on float remapping on iOS
Swift
3
star
74

RZDataManager

An iOS framework for Importing and Managing Data in your App.
3
star
75

slog

A simple logging utility for Swift
Shell
3
star
76

Drafter

Drafter - A nice way to draft up some constraints programmatically
3
star
77

DialogFactory

3
star
78

ios-template-output

For running CircleCI on output of ios-template
Swift
3
star
79

example-xcframework-build

Shell
3
star
80

CtrlZ

3
star
81

RZRadioKit

2
star
82

jss-react-template

Sample JSS React project using the OpenWeather API
JavaScript
2
star
83

RZSpriteTools

A library for creating and managing SpriteKit objects.
2
star
84

viewmodel-inject

Utilizes Dagger to generate a ViewModelProvider.Factory
Kotlin
2
star
85

RZAffirm

Raizlabs Swift Assertion Library
Swift
2
star
86

DataHub

Java
2
star
87

RZSegmentViewController

A customizable View Controller Container that lets you switch between view controllers using a segment control.
2
star
88

RZRevealViewController

RZRevealViewController is a Basement Menu style Containment View Controller.
1
star
89

FlowStacks-iOS-15-Bug

Demonstrating SwiftUI navigation bug in FlowStacks on iOS 15
Swift
1
star
90

maven-releases

1
star
91

PeopleCards

Flashcard game to learn new hire names/faces
JavaScript
1
star
92

AirQualityDashboard-iOS

Air quality dashboard for our BLE AQI device
Swift
1
star
93

RZSequenceController

A view controller container that arranges child view controller in either a horizontal or vertical scrolling flow.
1
star
94

air_quality_bluetooth_le

Bluetooth Low Energy interface for SDS011 APM2.5 air quality sensor
Python
1
star
95

react-native-touch-sensor

Java
1
star
96

RPLogging

Log level settings for iOS, macOS, tvOS, & watchOS
Swift
1
star
97

CustomVisionTools

Useful utilities for training object detection models with Custom Vision.
Python
1
star
98

Azure-Search-Query-Builder

This is a library that uses expression tree parsing to build a parameters object for performing search, suggest, and autocomplete actions with the Azure Search .NET SDK.
C#
1
star