2010-10-05 15 views
0

J'essaie de créer une application pour iPhone avec un écran de bienvenue qui mène à deux ou trois interfaces assez disparates; une fois que vous en aurez un, vous n'aurez pas beaucoup d'utilité pour les autres, et chacun d'eux est assez compliqué.La meilleure façon d'orchestrer plusieurs vues dans iOS sans UITabBar ou UINavigationBar?

Les concepteurs sont tous des types de Web et il semble que le paradigme de "navigation" soit le plus proche de ce qu'ils veulent, mais pas la barre de navigation de style "breadcrumb".

  1. Si je configure un UINavigationController, puis-je le piloter avec des boutons arbitraires dans les vues?
  2. Et en général, est-il possible d'échanger le contenu d'une vue par programme?
  3. Et si oui, de quoi ai-je besoin de faire attention? (Par exemple, en Java si vous modifiez le contenu d'un JPanel vous devez vous assurer qu'il se revalidé et repeint.)

newbie iOS ici, venant du monde Java, des conseils super explicite apprécié. En utilisant Monotouch, mais heureux de prendre l'aide d'Obj-C et de traduire. :)

Répondre

3

Il est difficile de vous dire comment concevoir votre application avec seulement cette information, donc je suppose que vous voulez faire une chose comme un contrôleur UINavigation.

1- Oui, vous pouvez piloter UINavigationController à partir d'autres ViewControllers, en utilisant des méthodes telles que PushViewController() et PopViewController(). Vous pouvez également masquer la barre d'outils ou certains des boutons de la barre d'outils si vous le souhaitez. Vous pouvez trouver quelques great examples here.

2- Oui, vous pouvez modifier le contenu d'une vue. Views contient d'autres vues et vous pouvez les ajouter et les supprimer comme vous le souhaitez.

3- La principale chose à faire est de s'assurer que les appels qui mettent à jour la vue sont effectués dans un appel InvokeOnMainThread (() => {}). More info here.

+0

Fait sens. Merci! –

+0

Utilisez-vous toujours un UINavigationController même si votre interface utilisateur n'est pas totalement hiérarchique? Mon application se branche sur plusieurs chemins et peut même revenir en arrière sur une vue précédente. Je ne suis donc pas sûre que Nav-View soit la meilleure solution. Conseil? – gonzobrains

+0

Le UINavController vous force dans un modèle très spécifique: percer sur les données. D'autres contrôleurs ont d'autres modèles: UITableViewController vous force dans les listes d'éléments et le UITabBarController dans différentes sélections. Vous pouvez également créer votre propre contrôleur personnalisé, qui bascule les vues si nécessaire. Pensez-y à deux fois avant de vous engager dans de nouveaux styles: Apple a créé ces contrôleurs à dessein, probablement après des années d'étude de ce qui était nécessaire. Il est normal de créer d'autres contrôleurs mais si ceux qui existent ne vous conviennent pas. –