Before iOS 13 I would use a transition to go from my LoginVC to my TabBarController. How would I accomplish the following for SceneDelegate? This app has only 1 scene/window
@objc func buttonTapped() {
let transition = CATransition()
transition.duration = 0.4
transition.type = CATransitionType.moveIn
transition.subtype = CATransitionSubtype.fromTop
transition.timingFunction = CAMediaTimingFunction(name:CAMediaTimingFunctionName.default)
let appDelegate = UIApplication.shared.delegate as? AppDelegate
appDelegate?.window?.rootViewController?.view.removeFromSuperview()
appDelegate?.window?.rootViewController?.dismiss(animated: false, completion: nil)
appDelegate?.window?.layer.add(transition, forKey: kCATransition)
appDelegate?.window?.rootViewController = //instance of my TabBarController() and selected index
appDelegate?.window?.isHidden = false
}
@objc func buttonTapped() {
let transition = CATransition()
transition.duration = 0.4
transition.type = CATransitionType.moveIn
transition.subtype = CATransitionSubtype.fromTop
transition.timingFunction = CAMediaTimingFunction(name:CAMediaTimingFunctionName.default)
if #available(iOS 13, *) {
UIApplication.shared.windows.first?.rootViewController?.view.removeFromSuperview()
UIApplication.shared.windows.first?.rootViewController?.dismiss(animated: false, completion: nil)
UIApplication.shared.windows.first?.layer.add(transition, forKey: kCATransition)
UIApplication.shared.windows.first?.rootViewController = // instance of my TabBarController() and selected index
UIApplication.shared.windows.first?.isHidden = false
} else {
let appDelegate = UIApplication.shared.delegate as? AppDelegate
appDelegate?.window?.rootViewController?.view.removeFromSuperview()
appDelegate?.window?.rootViewController?.dismiss(animated: false, completion: nil)
appDelegate?.window?.layer.add(transition, forKey: kCATransition)
appDelegate?.window?.rootViewController = //instance of my TabBarController() and selected index
appDelegate?.window?.isHidden = false
}
}