2009-11-16 4 views
0

Im un développeur iphone en herbe, et faire de mon mieux mais j'ai une requête concernant le UINavigationController.UINavigationController est-il nécessaire?

J'ai une application de barre d'onglets, avec 3 onglets.

  • Le 1er onglet a cinq UIButtons, chaque chargement d'une « section » différente de l'application, et chaque section aura un certain nombre de points de vue.

  • Les autres onglets affichent simplement quelques informations. Comme les utilisateurs sélectionnent l'un des boutons UIB de mon premier onglet, j'utilise [self.view addSubview: xxxxx];

et lorsque les utilisateurs quittent cette vue, j'utilise [self.view removeFromSuperview];

Ma question est:

Est-ce une mauvaise façon de faire les choses? devrais-je utiliser un contrôleur de navigation? La raison pour laquelle je n'en ai pas utilisé est parce que je voulais une interface utilisateur personnalisée et je comprends que le contrôleur de navigation force votre conception un peu. Et en plus de cela, j'utiliserai des données de base pour implémenter le stockage persistant .... est-ce que ma façon de mettre en application cette application cause un problème avec les données de base?

Toute aide concernant thsi serait très appréciée.

Vive

Tom

Répondre

1

Comme vous l'avez dit: lorsque l'un des cinq boutons est appuyé, les utilisateurs naviguent vers une autre vue et les cinq boutons disparaissent. C'est pour cela que le contrôleur de navigation est conçu et vous aide à mieux gérer la mémoire que simplement ajouter et supprimer des vues (en fonction du nombre de vues ajoutées/supprimées, cela peut également être meilleur en termes de performances). Comme le souligne Ole, le NavigationController est hautement personnalisable et n'impose pas grand-chose. Un contrôleur de navigation vous donne plus de flexibilité sur la route: dites que vous voulez ajouter un autre niveau de hiérarchie après que l'un des boutons a été exploité dans la version 2.0. Ensuite, vous constaterez que votre MainView va grandir au fur et à mesure que vous continuez d'ajouter des vues. Un UINavigationController garde votre code bien structuré et vous permet d'étendre la navigation plus tard. CoreData est très flexible et indépendant de l'interface utilisateur. Vous ne devriez pas avoir à vous inquiéter à ce sujet.

+0

Merci pour la réponse, cela m'a aidé à comprendre le besoin d'un contrôleur de navigation avec les implications sur les données de base! –

2

Tout d'abord, si vous n'avez pas besoin d'un contrôleur de navigation, puis ne l'utilisez pas. Vous ne devriez pas vous sentir mal à ce sujet. Cela dit, je pense que UINavigationController ne vous impose aucune interface utilisateur spécifique. Il est très facile de masquer la barre de navigation et de mettre en œuvre toute interface utilisateur que vous aimez. La chose que UINavigationController impose est une conception modulaire: chaque vue est gérée par un contrôleur de vue séparé et occupe le plein écran. Vous seul pouvez répondre si cette conception est adaptée à votre application. Si c'est le cas et si votre application est conçue autour d'une hiérarchie de vues, un contrôleur de navigation est probablement un bon choix.

+0

Nous vous remercions de votre participation, très utile! –

Questions connexes