может быть, это не лучший способ сделать это, но я почти решу это безумие. сначала попытайтесь установить переменную в представленном viewController
var shouldPresentOtherVC = false
override function viewDidAppear(){
super.viewDidAppear()
if shoulPresentOtherVC{
//do the presentation here
, затем продолжайте, как вы делаете, но пропустите текущую часть
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let homepage = storyboard.instantiateViewController(withIdentifier: "SWRevealViewController")
self.window?.rootViewController = homepage
self.window?.makeKeyAndVisible()
, если представленный viewcontroller не нужен для этого из указанных c V C тогда я использовал этот код. на данный момент v c.
extension UIWindow {
func topViewController() -> UIViewController? {
var top = self.rootViewController
while true {
if let presented = top?.presentedViewController {
top = presented
} else if let nav = top as? UINavigationController {
top = nav.visibleViewController
} else if let tab = top as? UITabBarController {
top = tab.selectedViewController
} else {
break
}
}
return top
}
}
, чтобы найти topViewController, а затем после этой строки
self.window?.rootViewController = homepage`
добавить это.
let vc = UIStoryboard.init(name: "Ride", bundle: nil).instantiateViewController(withIdentifier:"payAfterPostRequestViewController") as! payAfterPostRequestViewController
self.window?.topViewController.present(vc, animated: true, completion: nil)