imagepicker + navigationController provoque des problèmes dans l'iphone?
-
22-07-2019 - |
Question
comment puis-je faire cela..J'ai délégué d'application ... dans lequel j'ai ajouté le contrôleur uinavigation par le code ...
voici mon code ...
- (void)applicationDidFinishLaunching:(UIApplication *)application {
HomeScreenController *homeScreenobj=[[HomeScreenController alloc] initWithNibName:@"HomeScreen" bundle:[NSBundle mainBundle]];
navController = [[UINavigationController alloc] initWithRootViewController:homeScreenobj];
[homeScreenobj release];
[window addSubview:navController.view];
// Override point for customization after app launch
[window makeKeyAndVisible];
}
sur l'écran d'accueil, j'ai une barre de tabulation avec trois boutons voici une image
Je veux prendre une photo de la bibliothèque à partir de imagepickerController ... mais les problèmes nous intéressent
il est ajouté à la fenêtre principale, je ne sais pas pourquoi
voici une image pour cette
pourquoi ce n'est pas affiché en plein écran .... et aussi si je mets cette ligne
imagePickerController.allowsImageEditing = YES;
il se bloque, je ne sais pas pourquoi .. voici mon code à prendrePhoto ....
-(IBAction)TakePhotoClicked
{
imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.allowsImageEditing = YES;
imagePickerController.delegate = self;
imagePickerController.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
//self.navigationController.navigationBar.hidden=YES;
[self.navigationController pushViewController:imagePickerController animated:NO];
//[imagePickerController release];
}
si je ne mets pas cette ligne en commentaire //self.navigationController.navigationBar.hidden=YES;
ça se voit comme ça
où cliquer sur le bouton d'accueil ramène à la maison ...
La solution
Vous devez présenter UIImagePickerController en tant que contrôleur de vue modale. Donc, ne poussez pas votre contrôleur, mais présentez-le comme modal:
[self.navigationController presentModalViewController:imagePickerController animated:YES];
Vous pouvez afficher le sélecteur d'images à l'aide de - [UINavigationController licencierModalViewControllerAnimated:]
pour revenir au dernier contrôleur d'affichage de la pile.