2011-01-13 10 views
2

Ich habe 2 Viewcontrollers A, BiPhone - Zugriff auf den übergeordneten Viewcontroller?

  1. Viewcontroller A auf dem Bildschirm angezeigt wird, wird
  2. Die Ansicht des Viewcontroller B ist der Ansicht von Viewcontroller A.

hinzugefügt Wie Kann ich über ViewController B auf ViewController A zugreifen, ohne einen Zeiger zu übergeben?

self.parentViewController nicht funktioniert es Nuil gibt

Antwort

0

Dies sollte nicht sehr elegant, obwohl seine Arbeit:

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

Dies gibt eine UINavigaionView zurück, es gibt den View-Controller nicht zurück. Ich übergab den Elternteil manuell an das Kind – aryaxt

1

Warum ist die Ansicht von Viewcontroller B hinzugefügt Ansicht von Viewcontroller A? Wenn Sie eine Ansicht zu ViewController A hinzufügen möchten, können Sie dies tun, indem Sie eine neue UIView zuweisen und diese oberhalb der aktuellen Ansicht anzeigen. Wenn Sie jedoch versuchen, von einem Ansichtscontroller zu einem anderen zu wechseln, dh von A nach B und dann zurück zu A wechseln, sollten Sie einen UINavigationController verwenden, wie im View Controller Programming Guide in der Apple-Dokumentation angegeben .

Quelle: View Controller Programming Guide

EDIT: Wenn Sie [[self parentViewController] yourMethodHere]; verwenden möchten, erhalten Sie eine Ansicht Hierarchie benötigen, für die Sie die UINavigationController verwenden können. In Ihrem aktuellen Schema gibt es keine Hierarchie, daher gibt es keinen übergeordneten View-Controller.

Verwandte Themen