Comment faire pour faire disparaître viewController dans ios à l'aide de Swift
J'ai un viewController qui ne contient qu'une imageview. Je veux le présenter à chaque fois qu'il y a un temps de chargement de l'application, comme l'extraction de données à partir d'un webservice. J'ai donc créé une fonction dans mon loaderViewController comme
func showLoading(viewController:UIViewController) {
viewController.presentViewController(LoadingViewController(), animated: false, completion: nil)
}
Cela fonctionne comme prévu, lorsque j'appelle cette fonction lorsque vous le souhaitez, comme ci-dessous
var loader = LoadingViewController()
loader.showLoading(self)
Il me montre le viewController avec l'image.
Mais Maintenant vous souhaitez rejeter cette viewController quand on le désire, mais je ne suis pas en mesure de le faire, c'est Ce que j'ai essayé jusqu'à présent, j'ai créé une autre fonction dans mon LoaderViewController comme
func dismissLoader() {
let load = LoadingViewController()
load.dismissViewControllerAnimated(true) {
print("Dismissing Loader view Controller")
}
}
Mais sa ne fonctionne pas et le viewController n'est pas disappering de l'écran.
Merci de me guider
OriginalL'auteur Byte | 2016-08-12
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas à créer une nouvelle instance de votre chargeur et votre appel
dismissViewControllerAnimated(_:Bool)
.Appelez simplement
sur votre viewController
Donc, votre fonction sera
fait @Octets, j'ai édité le post
Merci cela a fonctionné pour moi
OriginalL'auteur Luca D'Alberti
Dans Swift 3, vous pouvez le faire à la suite.
OriginalL'auteur Kushal Shrestha
ne pas faire
let load = YASLoadingViewController()
à chaque fois, vous êtes à la création de différents contrôleurLe faire une fois et ensuite utiliser uniquement
load
de rejeter ou de présenterVos réponses sont souvent juste, mais si vous donnera plus large explication, ils seront vraiment utiles. Je pense que askers souvent ne sont pas suffisamment qualifiés pour comprendre vos réponses courtes
merci pour ce conseil
OriginalL'auteur Lu_
OriginalL'auteur Chirag Patel
Votre code a de nombreux défauts. La façon dont vous essayez d'atteindre, ce n'est pas une bonne pratique. Toutefois ,Si vous voulez une solution rapide, et vous voulez juste de modifier votre méthode de faire cela,
Et lorsque l'on présente un nouveau
LoadingViewController
, de conserver une référence à elle, de sorte que vous pouvez appeler méthode ci-dessus.De toute façon, le code ci-dessus devrait fonctionner, même sans la tenue d'une référence, depuis iOS déléguer cette méthode de retour à son parent ViewController de sa hiérarchie, si il n'y a pas présenté ViewController disponible sur le ViewController.
OriginalL'auteur sleepwalkerfx
Vous avez à stocker un lien pour
LoadingViewController
parent-vue-contrôleur:OriginalL'auteur danshevluk