Swift:关闭 viewController 1 然后呈现 viewController 2
Posted
技术标签:
【中文标题】Swift:关闭 viewController 1 然后呈现 viewController 2【英文标题】:Swift: Dismiss viewController 1 then present viewController 2 【发布时间】:2016-11-17 09:59:04 【问题描述】:我想关闭一个加载器视图控制器,然后呈现一个UIDocumentInteractionController
。我找到了一个 Objective-c 解决方案,但我想要 Swift 3 的解决方案。
这是取自answer的objective-c代码:
// Does not break
[viewController1 dismissViewControllerAnimated:YES completion:^
[self presentViewController:viewController2 animated:YES completion:NULL];
];
我在 Swift 3 中是这样翻译的:
self.dismiss(animated: false, completion:
self.docController = UIDocumentInteractionController(url: destinationUrl!)
self.docController!.presentOpenInMenu(from: CGRect.zero, in: self.view, animated: true)
)
它工作正常,但我想确定 Objective-c 中的 completion:^
表示 Swift 3 中的 completion:
。
【问题讨论】:
是的,它们是一样的 【参考方案1】:是的,你的假设是正确的。虽然您不需要在 Swift 3 中显式编写完成。
你也可以这样写。
self.dismiss(animated: false)
self.docController = UIDocumentInteractionController(url: destinationUrl!)
self.docController!.presentOpenInMenu(from: CGRect.zero, in: self.view, animated: true)
【讨论】:
以上是关于Swift:关闭 viewController 1 然后呈现 viewController 2的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用 Swift 关闭 ViewController 期间将值从 ViewController B 传递给 ViewController A? [复制]
如何关闭当前的 ViewController 并在 Swift 中更改为新的 ViewController?
关闭一个 ViewController 并呈现另一个 ViewControlloer - IOS - Swift 3