2010-08-30 4 views
0

Je suis en train d'apprendre et de concevoir une application pour notre entreprise. En son cœur, il a une liste d '"alarmes" qui, lorsqu'on clique dessus, va à une vue plus détaillée avec une barre d'outils pour effectuer des tâches sur cette "alarme".Conception d'une application tableview tabulée pour iPhone

Je suis un diable d'un temps à travailler sur la façon de structurer cette application. J'ai quelque chose qui fonctionne actuellement (je vais l'expliquer en une seconde), mais maintenant je suis sur le point de brancher la source de données pour la table et je me perds.

Sur l'écran principal, il doit y avoir une liste des "alarmes". Cette liste devrait pouvoir être filtrée avec 3 catégories (Toutes, Catégorie 1, Catégorie 2) où les catégories sont des sous-ensembles de toutes les "alarmes". J'ai implémenté ceci en utilisant un TabBarController.

Dans chaque onglet, j'ai un NavigationController (pour gérer la navigation entre la liste et les détails) et sa vue principale est un UITableViewController personnalisé qui contient la vue de table personnalisée. Comme décrit, lorsque vous cliquez sur un élément, il accède à une vue détaillée. Tout cela fonctionne actuellement, mais je suis préoccupé par la structure.

Il est assez évident que j'ai un peu de duplication avec les 3 différents NavigationControllers, mais j'ai lu que sous-classer le NavigationController n'est pas recommandé.

Mes questions sont les suivantes:

  1. Y at-il une meilleure façon de structurer cette application? Existe-t-il une meilleure méthode de filtrage (rapide et facile) au lieu d'un TabBar?

  2. Où devrait aller la source de données tableview? La plupart des exemples que j'ai vus l'ont créé dans AppDelegate, puis transmis directement à tableviewcontroller. Mon tabelviewcontroller personnalisé est un couple de niveaux dans la chaîne du contrôleur, comment puis-je lui transmettre la source de données, ou puis-je rendre la source de données "statique"?

J'espère que tous fait sens

Répondre

1

sons comme si vous voulez un contrôleur de navigation et contrôleur de vue de la table avec un contrôle segmenté en haut pour basculer entre les différentes vues de données. Pour un exemple de ce type de mise en page, jetez un oeil à la façon dont l'application App Store fonctionne lorsque vous sélectionnez l'onglet Sélection - il dispose d'un contrôle segmenté pour basculer entre Nouveau, What's Hot et Genius.

+0

Ooo, je ne connaissais pas le contrôle segmenté! Je vais jeter un coup d'oeil, merci :) –

+0

Parfait! Cela simplifie tout énormément! Merci Simon –

+0

Excellent! Content que cela ait aidé Alastair :) –

Questions connexes