如何使用Swift关闭ios中的viewController

Byt*_*yte 4 uiviewcontroller ios swift swift2

我有一个viewController,它只包含一个imageview.我想在应用程序中加载时提供它,例如从Web服务获取数据.所以我在我的loaderViewController中创建了一个函数

func showLoading(viewController:UIViewController) {
    viewController.presentViewController(LoadingViewController(), animated: false, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

这是按预期工作的,当我在需要时调用此函数,如下所示

var loader = LoadingViewController()
loader.showLoading(self)
Run Code Online (Sandbox Code Playgroud)

它向我展示了带有图像的viewController.

但是现在想要在需要的时候忽略这个viewController,但我无法这样做,这是我到目前为止所尝试的,我在我的LoaderViewController中创建了另一个函数as

func dismissLoader() {
    let load = LoadingViewController()
    load.dismissViewControllerAnimated(true) {
        print("Dismissing Loader view Controller")
    }
}
Run Code Online (Sandbox Code Playgroud)

但它没有工作,viewController没有从屏幕上消失.

请指导我

Luc*_*rti 12

您不必创建加载程序的新实例并对其进行调用dismissViewControllerAnimated(_:Bool).

打电话吧

self.dismissViewControllerAnimated(true)
Run Code Online (Sandbox Code Playgroud)

在你的viewController上

所以,你的功能将是

func dismissLoader() {

    dismissViewControllerAnimated(true) {
        print("Dismissing Loader view Controller")
    }
}
Run Code Online (Sandbox Code Playgroud)


Kus*_*tha 5

在Swift 3中,您可以执行以下操作.

self.dismiss(animated: true)
Run Code Online (Sandbox Code Playgroud)