0

在 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
}
4

2 回答 2

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
    }
}
于 2020-02-28T18:22:43.053 回答
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()

        }

你可以使用那个代码..

于 2020-02-28T08:14:37.550 回答