在iOS 13之前,我将使用从LoginVC到TabBarController的过渡。如何为SceneDelegate完成以下操作?这个程序只有1个场景/窗口
@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
}
答案 0 :(得分:1)
@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
}
}
答案 1 :(得分:0)
@objc func buttonTapped() {
let rootVC = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Tabbarrrrr") as! Tabbarrrrr
let navigationController = UINavigationController(rootViewController: rootVC)
UIApplication.shared.windows.first?.rootViewController = navigationController
UIApplication.shared.windows.first?.makeKeyAndVisible()
}
您可以使用该代码。