JTMaterialTransition
An iOS transition for controllers based on material design.
Installation
With CocoaPods, add this line to your Podfile.
pod 'JTMaterialTransition', '~> 2.0'
Screenshots

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.
 projecs by owner
                                                                (
                                                                projecs by owner
                                                                (