Je voudrais pouvoir ajouter une vue modale devant ma vue de table, qui est affichée par rapport à la vue plutôt que par rapport à la vue vue de la table (comme indiqué sur les photos) 1. Aussi, comment puis-je empêcher l'utilisateur d'interagir avec la table derrière. J'ai inclus le code utilisé pour animer ma vue aussi. Merci d'avance!Comment ajouter une vue modale sur un UITableViewController qui désactive l'interaction de l'utilisateur avec
func newPersonAnimateIn() {
self.overlayView.transform = CGAffineTransform.identity
self.view.addSubview(overlayView)
overlayView.center = self.view.center
overlayView.transform = CGAffineTransform.init(scaleX: 1.3, y: 1.3)
overlayView.alpha = 0
UIView.animate(withDuration: 0.4) {
//self.visualEffectView.effect = self.effectHolder
self.overlayView.alpha = 1
self.overlayView.transform = CGAffineTransform.identity
}
personName.becomeFirstResponder()
}
func newPersonAnimateOut() {
self.view.endEditing(true)
UIView.animate(withDuration: 0.3, animations: {
self.overlayView.alpha = 0
self.overlayView.transform = CGAffineTransform.identity
}){(success:Bool) in
self.overlayView.removeFromSuperview()
}
personName.text = ""
}
@IBAction func addPerson(_ sender: UIBarButtonItem) {
newPersonAnimateIn()
}
@IBAction func continueButton(_ sender: Any) {
newPersonAnimateOut()
}
peut-être un commentaire important: Ne fais pas cette Voir avec alpha == 0.0 Cela devrait être quelque chose de plus que zéro. (1.0 == complètement opaque) –
Merci pour la réponse et les commentaires, qui ont fonctionné comme nécessaire! –