J'ai une application de barre d'onglets à trois vues dont la deuxième vue doit contenir un contrôleur de navigation. Dans le contrôleur de nav, la première vue/racine sera une vue personnalisée contenant une vue évolutive qui, lorsque vous touchez une cellule, poussera une autre vue personnalisée à divulguer des détails sur la cellule touchée.Ajout d'un UINavigationController à une application de barre d'onglets
J'ai trouvé la documentation à ce sujet mais cela n'a pas de sens pour moi ou semble voler au-dessus de ma tête. Les docs disent que vous devez créer le uiviewcontroller situé dans les vues de navcontroller ou du moins s'y référer par programmation. J'utilise Interface Builder et je suis devenu très à l'aise pour l'utiliser, donc le faire par programmation me fait un peu peur.
En outre, ce morceau de code de la documentation semble troublante:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview:myNavigationController.view];
}
ci-dessus tirée de "Programmation ViewController pour iPhoneOS" documentation de pomme
serait pas en charge et afficher immédiatement le UINavigationView? Un problème est que je ne veux pas afficher le navview immédiatement. le navController/stack est un onglet secondaire. Alors, comment et où implémenter mon navController (maintenant je l'ai installé dans mon délégué (ce que je pense est correct) J'ai pu charger un UInavigationController de base avec une barre de navigation et une vue vide, --minus l'affichage du contenu personnalisé, par le constructeur d'interface, mais je suis à une perte sur la façon de remplir les vues de contenu personnalisé.
Hope this sens.
Toute aide serait appréciée,
Nick
Cela a du sens, j'ai utilisé un peu didselectrowindindexpath donc je suis familier avec cette méthode, mais je suis encore un peu confus sur ce que je devrais faire ici, dois-je envoyer un message à uinavcontroller (si oui quel message?)? De plus, je ne peux même pas faire apparaître le uitableview personnalisé en tant que contrôleur racine dans la zone de contenu personnalisée de l'uinavcontroller, donc il n'y a aucun moyen de sélectionner une ligne dans un chemin d'index si vous obtenez ma dérive. apprécier toute clarification. Nick – nickthedude
J'ai aussi aimé votre idée de le sortir dans une application séparée juste pour le simplifier jusqu'à ce qu'il soit logique. Merci. – nickthedude
Dans tableView: didSelectRowAtIndexPath: vous devez envoyer un message pushView à votre contrôleur de navigation. Vous devez fournir le UIViewController en tant que paramètre à pushView. C'est le VC qui contrôle la vue que vous souhaitez activer. Vous pouvez le créer par programme ou le charger à partir d'une plume. –