I am using presentViewController to present new screen
let dashboardWorkout = DashboardWorkoutViewController()
presentViewController(dashboardWorkout, anima
import UIKit and create one extension for UIViewController:
extension UIViewController {
func transitionVc(vc: UIViewController, duration: CFTimeInterval, type: CATransitionSubtype) {
let customVcTransition = vc
let transition = CATransition()
transition.duration = duration
transition.type = CATransitionType.push
transition.subtype = type
transition.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
view.window!.layer.add(transition, forKey: kCATransition)
present(customVcTransition, animated: false, completion: nil)
}}
after simlpy call:
let vC = YourViewController()
transitionVc(vc: vC, duration: 0.5, type: .fromRight)
from left to right:
let vC = YourViewController()
transitionVc(vc: vC, duration: 0.5, type: .fromleft)
you can change the duration with your preferred duration...