6
votes

iOS Swift Window.rootViewController vs PresentViewController

Quelle est la meilleure pratique pour basculer entre plusieurs vues; Modifiez le rootviewController ou utilisez des vues modales?

Réglage du rootviewController : xxx

Modification de la vue modale: < / p> xxx

Je suis confus quant à lequel utiliser lorsque j'ai besoin de présenter à l'utilisateur une autre vue.

PS Mon cas, j'ai une application commençant par le formulaire de connexion comme référence rootviewcontroller . Après la connexion, je pense qu'il est préférable de changer le rootviewcontroller mais je suis juste?


0 commentaires

3 Réponses :


1
votes

Le contrôleur de la racine de la fenêtre de l'application est la première vue chargée dans la fenêtre après l'écran des éclaboussures. Bien qu'il soit possible d'allumer le contrôleur d'affichage de la fenêtre pour modifier la vue, envisagez d'utiliser un UinavigationController et poussant un contrôleur de vue supplémentaire sur la pile de visualisation. Cela donne à l'utilisateur plus de flexibilité, permettant à l'utilisateur d'aller d'avant en arrière entre les vues.


0 commentaires

4
votes

Ma suggestion est au lieu de gêner beaucoup de choses à ce sujet, vous devez simplement remplacer le reste de la chose de la chose est pris en charge par votre application.

    let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let initViewController: UIViewController = storyBoard.instantiateViewControllerWithIdentifier("viewTarget") as TargetViewController
    self.window?.rootViewController? = initViewController


0 commentaires

2
votes

Le point de "racineviewcontroller" est d'un pivot central pour toutes vos vues.

Voir comme un lien le plus haut de la série de chaînes. par exemple. Les vues sur la gauche, peuvent parler à des vues sur la droite peuvent parler à des vues au milieu grâce à la "racineviewcontroller". Le "lien commun". En haut de cela, il contrôle (ou a la capacité de contrôler) comment les vues hypothétiques de gauche, à droite et au milieu sont configurées, etc.

Bien, je l'ai formulé un peu de manière triviale, mais la (UinavigationController) est spécifiquement pour la teneur hiérarchique, c'est-à-dire un uitabviewController ..

Je viens de remarquer un excellent message ici ( Changer la racine Voir le contrôleur d'une fenêtre iOS ) Tout en trouvant une image décente pour l'expliquer décemment.

Kudos à Matt sur ce poste :) J'espère que cela vous aide.

Si ne pas vous sentir libre de demander :)

éditer et pour référence pour d'autres personnes, voici quelque chose de bon marché et rapidement j'ai giflé ensemble qui pourrait faire envelopper votre tête autour de storyboards :)

https://dl.dropboxusercontent.com/u/61211034/viewfun.zip

acclamations,

a


4 commentaires

Je ne comprends pas quelque chose, quand j'utilise PresentViewController, c'est une vue de modale, alors y a-t-il un moyen simple de fermer cette vue et de voir ma RootView?


Voir l'édition que j'ai faite à mon message, il y a un exemple de projet de vous pour jouer avec ...


Ok, mais dans mon cas, je ne veux pas utiliser de navigationController, merci pour le code de partage


Aucun problème. Le contrôleur NAV n'est qu'un exemple, mais une fois que vous avez cela sous votre courroie, le reste des contrôleurs confirme à peu près les mêmes principes