iPad popover schließen mit Knopf innerhalb des popover selbst
Ich habe eine Schaltfläche in mein popover controller. Ich möchte es verwenden, um zu schließen Sie das popover, so bin ich versucht, Zugriff auf eine Methode (dismissPopover) von der Darstellung view controller (der "root" - view-controller).
Hinweis: der Methode schließen Sie das popover ist bereits eingerichtet und funktioniert, in der Wurzel VC, das ist die Delegiertenversammlung. Wenn ich es nennen-es wird schließen Sie das popover. Ich brauche einfach nur den Zugriff auf die Methode aus dem popover.
Dazu habe ich ein Grundstück in der AppDelegate, und erhalten eine Instanz des rootVC wie diese: self.rootController = (ViewController*)self.window.rootViewController;
. Dann habe ich den Import des root-VC-Klasse und die AppDelegate, um das popover - view-controller - Klasse, wie unten beschrieben. Scheint mir Zugang zu den rootVC, und die Methoden, die Resultate aber nicht Feuer die Methode. Keine Ahnung, was ich hier vermisst?
#import "ViewController.h"
#import "AppDelegate.h"
Aktion verbunden-Taste:
- (IBAction)dismissPopover:(id)sender {
//Checking the button works, it does:
NSLog(@"dismissPopover, from popover");
//Trying to get an instance of the rootViewController, the "presenting view controller"
ViewController *rootVC = [(AppDelegate *)[[UIApplication sharedApplication] delegate] rootController];
//trying to access the method in the rootVC that dismisses the popover
[rootVC dismissPopover];
//Tried the following code, does nothing:
//[self dismissPopoverAnimated:YES];
}
HINWEIS: ich landete Verzicht auf die Verwendung von einem popover, da wurde es ein bisschen kompliziert. Ich habe versucht, laden von mein view-controller in einem UIView (so konnte ich laden den Inhalt einer Feder, um ein pop-up-anzeigen). Das war auch ein bisschen kompliziert. So, jetzt bin ich gerade mit dem Bau meines gewünschten Schnittstelle in einem UIView ein Programm. So weit funktioniert Super.
InformationsquelleAutor Mrwolfy | 2013-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
dismissPopoverAnimated:
ist eine Methode derUIPopoverController
Klasse. so müssen Sie einen popover-controller-Referenz in Ihrer 'root' view-controller.die Schaltfläche im 'root' - view-controller und die action-Methode:
InformationsquelleAutor Wubao Li
In iOS 8, können Sie schließen Sie das popover (wenn es kommt, ein segue, mindestens) mit
dismissViewControllerAnimated:completion:
innerhalb des popover. Funktioniert nicht mit iOS 7 (oder unten), jedoch.InformationsquelleAutor lewiguez
Popover automatisch abgewiesen, wenn ein Klick außerhalb , als Sie um eine Schaltfläche, um Sie zu schließen, können Sie verwenden Sie einfach den folgenden code in Ihre dismissPopover Methode :
brauchen Sie nicht alle diese mühsame Arbeit !
ich meine es so, verwenden Sie diese Methode in Ihrem action-Methode so, um Sie zu schließen, ich verwende es in einem ähnlichen Fall BTW
Eigenschaft 'popoverController' nicht gefunden " auf Objekt des Typs 'X *'
InformationsquelleAutor Meseery
[self dismissViewControllerAnimated:YES completion:nil];
ist die Lösung;
Sie brauchen nur ein IBoutlet oder Ziel hinzufügen, um Ihre Schaltfläche, und rufen Sie dann über der Zeile
InformationsquelleAutor nova
Ich hatte das gleiche problem
nur in Ihrer buttonClickMethod:
hoffe, Sie helfen!
cheers
InformationsquelleAutor alvarodoune