Popularity
7.0
Stable
Activity
1.4
Declining
945
29
90

Monthly Downloads: 0
Programming language: Objective-C
License: MIT License
Tags: UI     Modal Transition    
Latest version: v2.0.3

JTMaterialTransition alternatives and similar libraries

Based on the "Modal Transition" category

Do you think we are missing an alternative of JTMaterialTransition or a related project?

Add another 'Modal Transition' Library

README

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](./Screens/example.gif "Example View")

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.


*Note that all licence references and agreements mentioned in the JTMaterialTransition README section above are relevant to that project's source code only.