2011-01-13 2 views
2

J'ai 2 viewcontrollers A, BiPhone - Accès au viewcontroller parent?

  1. ViewController A est affiché à l'écran
  2. La vue de ViewController B est ajouté à la vue de ViewController A.

Comment puis-je accéder à ViewController A à partir de ViewController B sans passer un pointeur?

self.parentViewController ne fonctionne pas retourne Nuil

Répondre

0

Cela devrait fonctionner si son pas très élégant:

UIViewController* viewControllerA = 
    (UIViewController*) [[self.view superview] nextResponder]; 
+0

cela renvoie un UINavigaionView, il ne renvoie pas le contrôleur de vue. J'ai fini par passer le parent à l'enfant manuellement – aryaxt

1

Pourquoi la vue de viewController B ajouté à la vue de viewController A? Si vous souhaitez ajouter une vue à viewController A, vous pouvez le faire en allouant un nouveau UIView et en l'affichant en haut de la vue actuelle. D'autre part, si vous essayez de passer d'un contrôleur de vue à un autre, c'est-à-dire de A à B puis de revenir à A, vous devez utiliser un UINavigationController comme indiqué dans le Guide de programmation de View Controller dans la documentation Apple. .

Source: View Controller Programming Guide

EDIT: Si vous voulez utiliser [[self parentViewController] yourMethodHere]; vous aurez besoin d'une hiérarchie de vue, que vous pouvez utiliser le UINavigationController. Dans votre schéma actuel, aucune hiérarchie n'est créée, il n'y a donc pas de contrôleur de vue parent.

Questions connexes