JTMaterialTransition

An iOS transition for controllers based on material design.

Github stars Tracking Chart

JTMaterialTransition

CI Status
Version
License
Platform

An iOS transition for controllers based on material design.

Installation

With CocoaPods, add this line to your Podfile.

pod 'JTMaterialTransition', '~> 2.0'

Screenshots

Example

Usage

Basic usage

import UIKit
import JTMaterialTransition

class ViewController: UIViewController {

    weak var presentControllerButton: UIButton?
    var transition: JTMaterialTransition?

    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.transition = JTMaterialTransition(animatedView: self.presentControllerButton)
    }
    
    func didPresentControllerButtonTouch () {
        let controller = SecondViewController()
        
        controller.modalPresentationStyle = .custom
        controller.transitioningDelegate = self.transition
        
        self.present(controller, animated: true, completion: nil)
    }

}

Notes

The animatedView is not directly used, a new view is created based on the frame, backgroundColor properties for the animation.
If you don't want to provide a view, you have to set startFrame and startBackgroundColor properties and call init instead of initWithAnimatedView:.

startFrame must be the coordinates relative to the window:

var startFrame = animatedView.superview?.convert(animatedView.frame, to: nil)

Warning

The controller presented must have a backgroundColor else the effect can be a little strange. If you use a UINavigationController or another container don't forget to set the backgroundColor with controllerPresented.view.backgroundColor = UIColor.yourColor.

Requirements

  • iOS 8.0 or higher
  • Swift 4.2

Author

License

JTMaterialTransition is released under the MIT license. See the LICENSE file for more info.

Main metrics

Overview
Name With Ownerjohnvuko/JTMaterialTransition
Primary LanguageSwift
Program languageRuby (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2015-04-24 22:06:50
Pushed At2019-01-17 16:45:55
Last Commit At2019-01-17 17:45:14
Release Count11
Last Release Name2.0.3 (Posted on )
First Release Name1.0.0 (Posted on )
用户参与
Stargazers Count1k
Watchers Count28
Fork Count86
Commits Count17
Has Issues Enabled
Issues Count6
Issue Open Count0
Pull Requests Count2
Pull Requests Open Count0
Pull Requests Close Count2
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private