如何在第二个视图控制器启动后关闭父视图控制器?
How can I dismiss the parent view controller after the second view controller is launched?
我正在 swift 中开发一个 OSX 应用程序,它以编程方式单击按钮以启动视图控制器。我想以编程方式关闭初始视图控制器。
class ViewController: NSViewController {
@IBOutlet weak var button: NSButton!
override func viewDidLoad() {
super.viewDidLoad()
button.performClick(nil)
self.dismissViewController(self)
// Do any additional setup after loading the view.
}
override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}
}
您的按钮似乎没有实际执行 dismissViewController()
。您实际上是在 viewDidLoad()
中调用此方法。还值得一提的是,您可能想尝试 self.view.window?.close()
。
只是为了升级之前的答案
self.view.window?.close()
在 swift 中不起作用 4 您可能想尝试下面的代码。
self.view.window?.rootViewController?.dismiss(animated: false, completion: nil)
我正在 swift 中开发一个 OSX 应用程序,它以编程方式单击按钮以启动视图控制器。我想以编程方式关闭初始视图控制器。
class ViewController: NSViewController {
@IBOutlet weak var button: NSButton!
override func viewDidLoad() {
super.viewDidLoad()
button.performClick(nil)
self.dismissViewController(self)
// Do any additional setup after loading the view.
}
override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}
}
您的按钮似乎没有实际执行 dismissViewController()
。您实际上是在 viewDidLoad()
中调用此方法。还值得一提的是,您可能想尝试 self.view.window?.close()
。
只是为了升级之前的答案
self.view.window?.close()
在 swift 中不起作用 4 您可能想尝试下面的代码。
self.view.window?.rootViewController?.dismiss(animated: false, completion: nil)