iPad rejeter liste avec le bouton dans la liste elle-même
J'ai un bouton dans ma liste de contrôleur. Je veux l'utiliser pour fermer la fenêtre pop-over, donc je suis en train d'essayer d'accéder à une méthode (dismissPopover) de la présentation-vue-contrôleur (la "racine" de-vue-contrôleur).
Remarque: la méthode pour faire disparaître la liste est déjà mis en place et de travail, dans la racine de CR, qui est le délégué. Si je l'appelle il rejettera la liste. J'ai juste besoin d'accéder à la méthode de la liste.
Pour ce faire j'ai installé une propriété dans l'AppDelegate, et obtenir une instance de la rootVC comme ceci: self.rootController = (ViewController*)self.window.rootViewController;
. Ensuite j'ai importé la racine de CR de la classe et de l'AppDelegate à la liste d'affichage de contrôleur de classe, comme ci-dessous. Semble me donner accès à la rootVC, et les méthodes, mais les résultats ne sont pas à l'incendie de la méthode. Toute idée de ce que je suis en manque ici?
#import "ViewController.h"
#import "AppDelegate.h"
Action connecté à bouton:
- (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];
}
REMARQUE: j'ai fini par abandonner l'utilisation d'une liste de ce qu'il est devenu un peu plus compliqué. J'ai essayé de chargement de mon point de vue contrôleur dans une UIView (afin que je puisse charger le contenu de la plume d'un pop-up). C'est aussi devenu un peu compliqué. Donc, pour l'instant, je suis juste la construction de mon interface souhaitée dans une UIView par programmation. Jusqu'à présent fonctionne très bien.
OriginalL'auteur Mrwolfy | 2013-01-14
Vous devez vous connecter pour publier un commentaire.
dismissPopoverAnimated:
est une méthode deUIPopoverController
classe. donc, vous avez besoin d'une liste de contrôleur de référence dans votre 'root' - vue-contrôleur.le bouton est dans votre 'root' - vue-contrôleur, et dans sa méthode d'action:
OriginalL'auteur Wubao Li
Dans iOS 8, vous pouvez fermer la fenêtre pop-over (si ça vient d'un segue, au moins) avec
dismissViewControllerAnimated:completion:
de l'intérieur de la liste. Ne fonctionne pas sous iOS 7 (ou ci-dessous), cependant.OriginalL'auteur lewiguez
Liste automatiquement rejetée lorsque vous cliquez en dehors , car vous commandez un bouton pour la fermer, il suffit d'utiliser le code suivant à l'intérieur de votre dismissPopover méthode :
vous n'avez pas besoin de tout ce travail fastidieux !
je veux dire, l'utilisation de cette méthode à l'intérieur de votre méthode d'action pour le renvoyer, je l'utilise dans un cas similaire BTW
la propriété 'popoverController' ne trouve pas sur l'objet de type " X *'
OriginalL'auteur Meseery
[self dismissViewControllerAnimated:YES completion:nil];
est la solution;
vous avez juste besoin d'un IBoutlet ou ajouter une cible à votre bouton, puis appel au-dessus de la ligne de
OriginalL'auteur nova
J'ai eu le même problème
viens de faire dans votre buttonClickMethod:
espère vous aider!
acclamations
OriginalL'auteur alvarodoune