Lorsque vous appuyez sur un bouton, je souhaite séparer deux contrôleurs de vue en utilisant un style de transition modale CoverVertical
, puis l’écarter. Il y a beaucoup d’informations sur la façon de le faire dans l’objectif C, mais ne trouve aucune bonne information dans Swift. Jusqu'ici j'ai fait ceci mais je ne pense pas que c'est correct:
@IBAction func insertStatus(sender: UIButton) {
var StatusVC: StatusViewController = StatusViewController()
var modalStyle: UIModalTransitionStyle = UIModalTransitionStyle.CoverVertical
StatusVC.modalTransitionStyle = modalStyle
self.presentViewController(StatusVC, animated: true, completion: nil)
}
Le rejet que j'utilise comme si ne fonctionne pas non plus:
@IBAction func statusSaved(sender: UIBarButtonItem) {
self.dismissViewControllerAnimated(false, completion: { () -> Void in
let usersVC: UsersViewController = self.storyboard?.instantiateViewControllerWithIdentifier("UsersViewController") as UsersViewController
})
}
Swift 3:
present(UIViewController(), animated: true, completion: nil)
dismiss(animated: true, completion: nil)
Swift 2.2:
self.presentViewController(true, completion: nil)
Masquer/rejeter un contrôleur de vue:
self.dismissViewControllerAnimated(true, completion: nil)
Faire pour supprimer View Controller dans Swift 3.0
self.dismiss(animated: true, completion: {})
Fermer le contrôleur de vue dans Swift 4 :
dismiss(animated: true, completion: nil)
C'est assez facile:
pour rejeter une vue modale avec Swift 3.0: Utilisez rejeter Api comme ci-dessous:
> @IBAction func dismissClick(_ sender: Any) {
> dismiss(animated: true, completion: nil)
>
> }
Pour le présent:
> @IBAction func dismissClick(_ sender: Any) {
> present(UIViewController(), animated: true, completion: nil)
>
> }
Pour plus de détails ici vous allez:
Vous pouvez utiliser les méthodes presentViewController:animated:completion:
et dismissViewControllerAnimated:completion:
à partir de UIViewController
. Voir docs ici