Aktueller Modal View Controller aus der Popover-Ansicht

7

So habe ich in meiner universellen App einen Bereich, in dem eine Person eine bestehende Liste von Notizen aus unserem System betrachten kann (die über einen einfachen Web-Service abgerufen wird) und dann auch eine neue Notiz erstellt, wenn sie dies wünschen. Also für das iPhone ist es ziemlich einfaches Layout, ein TableViewController für die Anzeige der Liste mit einem "Hinzufügen" -Button auf der Navigationsleiste, die das Modalview zum Hinzufügen des neuen Elements darstellt. Auf dem iPad hat das gleiche Layout jedoch viel verschwendeten Platz. Daher entschied ich mich, mit der popOver-Methode die Liste in einem popOver anzuzeigen und sie dann von dort hinzufügen zu lassen. Mein Problem ist, dass, wenn der Benutzer auf die Schaltfläche Hinzufügen in der PopOver-Ansicht klickt, die modale Ansicht im Vollbildmodus angezeigt wird und nicht nur in der Popover-Ansicht angezeigt wird. Hier ist der Code, den ich bisher habe:

%Vor%

}

Die Zeichenfolge "isPopOver" ist nur ein Platzhalter, der vom vorherigen Bildschirm gesendet wurde, der diese TableView aufgerufen hat (ich weiß, dass ich dies für eine bessere Leistung auf einen Boolean umstellen kann). Ich weiß, dass ich irgendwo versaut habe, ich weiß einfach nicht, welche Einstellung ich brauche, damit das funktioniert.

    
Sal Aldana 14.03.2013, 19:49
quelle

2 Antworten

23

Sie müssen den modalPresentationStyle des View-Controllers als "aktuellen Kontext" definieren.

%Vor%

Dies führt dazu, dass der Modal View-Controller das Popover wie der Root-Controller des Popover füllt.

    
rmaddy 14.03.2013, 20:23
quelle
2

Versuchen Sie es mit presentViewController:animated:completion: anstelle von presentModalViewController:animated: und setzen Sie self.navigationController.definesPresentationContext = YES

    
Martin Ullrich 14.03.2013 19:54
quelle