web-dev-qa-db-ja.com

SwiftでモーダルView Controllerを表示および非表示にします

ボタンが押されたとき、モーダル遷移スタイルCoverVerticalを使用して2つのView Controllerを切り替え、それを閉じます。 Objective Cでそれを行う方法に関する情報はたくさんありますが、Swiftで良い情報を見つけることができません。これまで私はこれをやったが、それが正しいとは思わない:

 @IBAction func insertStatus(sender: UIButton) {

         var StatusVC: StatusViewController = StatusViewController()
    var modalStyle: UIModalTransitionStyle = UIModalTransitionStyle.CoverVertical
    StatusVC.modalTransitionStyle = modalStyle
    self.presentViewController(StatusVC, animated: true, completion: nil)

    }

私が使用しているDismissも同様に機能しません:

@IBAction func statusSaved(sender: UIBarButtonItem) {

        self.dismissViewControllerAnimated(false, completion: { () -> Void in
            let usersVC: UsersViewController = self.storyboard?.instantiateViewControllerWithIdentifier("UsersViewController") as UsersViewController
       })
    }
20
user4184036

Swift 5:

present(UIViewController(), animated: true, completion: nil)

dismiss(animated: true, completion: nil)

Swift 2.2:

self.presentViewController(true, completion: nil)

View Controllerの非表示/非表示:

self.dismissViewControllerAnimated(true, completion: nil)
35
Cesare

Swift 3.0でView Controllerを閉じるには

self.dismiss(animated: true, completion: {})
9
freddieoh

Swift 4でView Controllerを閉じる)==:

dismiss(animated: true, completion: nil)
1
craft

その非常に簡単:

Swift 3.0でモーダルビューを閉じるには、以下のようにApiを閉じます:

> @IBAction func dismissClick(_ sender: Any) {
>         dismiss(animated: true, completion: nil)
>         
>     }

現在のところ:

> @IBAction func dismissClick(_ sender: Any) {
> present(UIViewController(), animated: true, completion: nil)
>         
>     }

詳細については、こちらをご覧ください。

https://developer.Apple.com/documentation/uikit/uiviewcontroller#//Apple_ref/doc/uid/TP40006926-CH3-SW96

1
Aks

UIViewControllerpresentViewController:animated:completion:およびdismissViewControllerAnimated:completion:メソッドを使用できます。ドキュメントを参照してください こちら

1
Marius Fanu