如何在新 window 中推送 ViewController
How to Push ViewController in new window
我需要通过代码将 viewController
推送到新的 window 中。我正在执行以下代码,但它不起作用。
let win = UIWindow(frame: UIScreen.main.bounds)
let nc = UINavigationController(rootViewController: self)
nc.view.backgroundColor = .clear
win.rootViewController = nc
win.windowLevel = UIWindow.Level.alert + 1
win.makeKeyAndVisible()
有谁知道如何在新 window 中推送 viewController?
Swift 5.x
下面的代码有效
取了全局变量:
var window2 : UIWindow?
修改后的代码如下
let win = UIWindow(frame: UIScreen.main.bounds)
let nc = UINavigationController()
nc.pushViewController(self, animated: true)
nc.navigationBar.isHidden = true
nc.view.backgroundColor = .clear
win.rootViewController = nc
window2 = win
win.windowLevel = UIWindow.Level.alert + 1
win.makeKeyAndVisible()
并关闭新的 window 我在下面做了
if let nc = window2?.rootViewController as? UINavigationController {
nc.popViewController(animated: true)
}
window2?.resignKey()
window2 = nil
注意:它不显示推送和弹出默认动画,目前它正在工作w/o任何类型的动画。
参考: To create a new UIWindow over the main window
我需要通过代码将 viewController
推送到新的 window 中。我正在执行以下代码,但它不起作用。
let win = UIWindow(frame: UIScreen.main.bounds)
let nc = UINavigationController(rootViewController: self)
nc.view.backgroundColor = .clear
win.rootViewController = nc
win.windowLevel = UIWindow.Level.alert + 1
win.makeKeyAndVisible()
有谁知道如何在新 window 中推送 viewController?
Swift 5.x
下面的代码有效
取了全局变量:
var window2 : UIWindow?
修改后的代码如下
let win = UIWindow(frame: UIScreen.main.bounds)
let nc = UINavigationController()
nc.pushViewController(self, animated: true)
nc.navigationBar.isHidden = true
nc.view.backgroundColor = .clear
win.rootViewController = nc
window2 = win
win.windowLevel = UIWindow.Level.alert + 1
win.makeKeyAndVisible()
并关闭新的 window 我在下面做了
if let nc = window2?.rootViewController as? UINavigationController {
nc.popViewController(animated: true)
}
window2?.resignKey()
window2 = nil
注意:它不显示推送和弹出默认动画,目前它正在工作w/o任何类型的动画。
参考: To create a new UIWindow over the main window