Frage

Ich habe ein Problem, und ich werde versuchen, das Problem zu erklären:

  1. Ich habe ein Haupt UIViewController (Vollbild)
  2. Ich habe eine sekundäre UIViewController (SetBounds)
  3. Ich habe meinen sekundären Blick auf meine mainView mit diesem:

    [mainController.view addSubview:secondaryController.view];   
    
  4. Ich habe eine dritte Controller: modalController, ich es zu meiner sekundären IDE-Controller wie folgt aus:

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

  6. Ich bin in der Lage Nachrichten von meinem modalController meines secondaryController senden mit:

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

    Hinweis: "Selbst" entspricht die modalController

  7. Ich brauche „myObject“ zu meinen mainController passieren, aber ich kann nicht Bezug auf meine mainController vom secondaryController machen. Ich versuchte dies:

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

    Hinweis: "Selbst" entspricht die secondaryController

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

    Hinweis: "Selbst" ist mein secondaryController

aber nicht zu deren Steuerung.

War es hilfreich?

Lösung

In Ihrem sekundären Controller, versucht

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

und prüfen Sie, ob dies der View-Controller ist für Sie suchen.

Apples Dokumentation von -[UIResponder nextResponder]:

  

UIView implementiert diese Methode durch das UIViewController Objekt zurückkehrt, die es schafft (wenn es einen hat) oder seine Superview (falls dies nicht der Fall)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top