Je travaille sur une application qui a trois contrôleurs de vue de la table dans une pile de navigation. Le contrôleur de vue racine et le second VC ont des barres d'outils, mais je veux ajouter un sous-vue à la deuxième vue contrôleur like this. (La couleur est juste là pour la visualisation.)Ajout UIView sous-vue de contrôleur de vue de la table unique dans la pile de navigation
Je veux ajouter la vue par programmation, puisque je n'ai pas été en mesure de le faire avec IB sans maux de tête majeurs. En ce moment, je suis en mesure d'obtenir un peu ce que je veux en dessinant un UIView dans le second contrôleur de vue comme celui-ci:
- (void)viewDidLoad {
[super viewDidLoad]
UIView *detailView = [[UIView alloc] initWithFrame:CGRectMake(0, 392, 320, 44)];
detailView = [UIColor redColor];
[self.navigationController.view addSubview:detailView];
[detailView release];
}
Le problème avec cette approche est qu'une fois que le UIView est chargé dans la deuxième vue contrôleur, il reste chargé et est dessiné dans le troisième et les contrôleurs de vue racine. J'ai essayé une variété de méthodes d'élimination du UIView, y compris la mise à zéro du DetailView dans viewDidUnload, appelant à removeFromSuperview didSelectRowAtIndexPath (qui a supprimé la vue de l'ensemble de la pile). J'ai également essayé d'ajouter la sous-vue à self.view, mais cela la pousse en dessous de la zone visible de la vue de la table, donc je dois faire défiler vers le haut pour la voir, et elle redescend quand je la lâche. De toute évidence, l'ajout de cette sous-vue au contrôleur de navigation n'est pas la meilleure façon de faire ce que je veux, mais je ne sais pas où aller à partir d'ici.
Une vue de pied de page ne fonctionnerait pas puisque la sous-vue doit toujours être visible, c'est-à-dire que la vue de la table devrait défiler derrière elle. –
Vous devriez réduire la hauteur de la vue de la table ou si vous voulez vraiment qu'elle défile derrière elle, ajoutez le detailView à self.view puis faites '[self.view bringSubviewToFront: detailView]' (avant de le relâcher). – Anna
Si j'ajoute la sous-vue à self, alors je l'attache à la vue de table, ainsi elle défile avec la vue de table. Je veux que la sous-vue soit stationnaire, juste au-dessus de la barre d'outils. –