Swift - переход на сцену - PullRequest
       18

Swift - переход на сцену

0 голосов
/ 28 февраля 2020

До iOS 13 Я бы использовал переход на go с моего LoginV C на мой TabBarController. Как мне выполнить sh следующее для 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
}

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020
@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
    }
}
0 голосов
/ 28 февраля 2020
   @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()

        }

Вы можете использовать этот код ..

...