Voici la mise en place de mon avis:UIPopoverController et UIImagePickerController accident
Lorsque le UIBarButtonItem
est cliqué, il faut mettre en place un UIImagePickerController
. Je dois le faire en utilisant un UIPopoverController
, qui est invoqué en cliquant sur le bouton "reset", car il est nécessaire sur l'iPad. Voici mon code:
-(IBAction) btnReset:(id)sender {
[self chooseImage];
}
-(void) chooseImage {
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
imagepicker = [[UIImagePickerController alloc] init];
imagepicker.allowsEditing = NO;
imagepicker.delegate = self;
imagepicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagepicker.navigationBar.opaque = true;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
popoverController = [[UIPopoverController alloc] initWithContentViewController:imagepicker];
[popoverController presentPopoverFromBarButtonItem:reset permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
} else {
[self presentModalViewController:imagepicker animated:YES];
}
}
}
Cependant, quand on l'appelle, la vue se bloque avec l'erreur:
'NSInvalidArgumentException', reason: '-[UIPopoverController presentPopoverFromRect:inView:permittedArrowDirections:animated:]: Popovers cannot be presented from a view which does not have a window.'
Qu'est-ce que je fais mal? Merci d'avance.
Quelle est la variable de réinitialisation que vous présentez le popover? –
Réinitialiser est le nom du bouton – DGund