2009-06-23 6 views
10

Ich habe ein Problem, und ich werde versuchen, das Problem zu erklären:Wie greift man auf den View-Controller eines Super zu?

  1. Ich habe ein Haupt UIViewController (Vollbild)
  2. ich ein sekundäres UIViewController (SetBounds) habe
  3. ich meine sekundäre Ansicht hinzugefügt zu meinen mainView mit diesem:

    [mainController.view addSubview:secondaryController.view]; 
    
  4. ich einen dritten Controller erstellt: modalController, habe ich es meinem NEBENT y-Controller wie folgt aus:

    [secondaryController presentModalViewController:modalController animated:YES]; 
    
  5. Ich mache Kalkül auf einige Ereignisse innerhalb meiner modelController.

  6. ich in der Lage bin, Nachrichten senden von meinem modalController meiner secondaryController mit:

    [[self parentViewController] performSelector : @selector(myMethodInSecondaryController:) withObject : myObject afterDelay : .5]; 
    

    HINWEIS: "Selbst" entspricht dem modalController

  7. Ich muss passieren "myObject" zu meine mainController, aber ich kann mich nicht auf meine mainController aus der secondaryController beziehen. Ich versuchte dies:

    [[self parentViewController] performSelector : @selector(myMethodInMainController:) withObject:myObject afterDelay : .5]; 
    

    HINWEIS: "Selbst" entspricht dem secondaryController

    aber es funktioniert nicht, ich habe Zugriff auf meine mainController Ansicht mit: self.view.superview

    HINWEIS: "selbst" ist mein secondaryController

aber nein zu seinem Controller.

Antwort

32

In Ihrem sekundären Controller, versuchen

id mainViewController = [self.view.superview nextResponder]; 

und prüfen Sie, ob dies der Controller Ansicht ist, die Sie suchen.

Apples Dokumentation von -[UIResponder nextResponder]:

UIView diese Methode implementiert, indem die UIViewController Objekt zurückkehrt, die es schafft (wenn es einen hat) oder seine Superview (wenn es nicht tut)

+1

Dank Nikolai !!!!!!!!!!!!!!!!! Das hat perfekt funktioniert :) danke Grüße aus Guadalajara Mexiko !! Alejandra :) – Alejandra

+1

Gern geschehen (aus Berlin, Deutschland) –

Verwandte Themen