UIPopoverController & amp; UIImagePickerControl: "Les Popovers ne peuvent pas être présentés à partir d'une vue qui n'a pas de fenêtre"
J'essaie d'afficher un UIImagePickerControl dans mon iPad. Au premier abord, le débogueur m'a dit que j'avais besoin de le mettre dans une liste lorsque de le faire sur un iPad. Donc j'ai écrit le code suivant:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
popover = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
[popover presentPopoverFromRect:CGRectMake(0.0, 0.0, 400.0, 400.0)
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
Cependant, maintenant, j'obtiens l'erreur suivante: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Popovers cannot be presented from a view which does not have a window.'
Toutes les suggestions sur ce que je dois faire? Je sais que l'auto.vue devrait ont une fenêtre, mais apparemment... il n'en a pas?
source d'informationauteur Jason | 2010-10-24
Vous devez vous connecter pour publier un commentaire.
Cela peut se produire si ce bout de code est arriver exécuté avant le point de vue est chargé, en tant que
self.view
est toujours nulle, et par conséquent, estself.view.window
.Est-il possible que vous êtes en train de faire cela dans une méthode init ou dans un autre lieu avant le point de vue est chargé (avant
-viewDidLoad:
est appelé)?Cette erreur m'avait déconcerté, mais il s'est avéré que c'était parce que le
barButtonItem
j'ai été en passant àpresentPopoverFromBarButtonItem
était unUIBarButtonSystemItemFlexibleSpace
élément ant une réelle bouton. Mon erreur de l'utilisateur, mais seulement si les gens savent ce qui peut sla