Мое приложение запрашивает пользователя через UIActionSheet, куда он хочет импортировать изображение (из библиотеки фотографий или камеры), а затем запускает соответствующий UIImagePickerController.
Если пользователь выбирает «Камера», я хочу сначала отобразить UIAlertView с изображением инструкции камеры, относящимся к приложению. Это работает, однако UIImagePickerController запускается, пока предупреждение все еще находится на экране и отображается за ним. Как я могу запустить камеру только после того, как пользователь отклонил UIAlert?
-(void) actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex != [actionSheet cancelButtonIndex]) {
// User hasn't canceled, launch chosen photo source
NSString *selectedButtonTitle = [actionSheet buttonTitleAtIndex:buttonIndex];
if ([selectedButtonTitle isEqualToString:@"Camera"]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"\n\n\n\n\n\n\n\n\n\n" delegate:self cancelButtonTitle:@"Done" otherButtonTitles:nil];
UIImageView *cameraHelpView = [[UIImageView alloc] initWithFrame:CGRectMake(82, 46, 120, 160)];
UIImage *cameraTutorial = [UIImage imageNamed:@"cameraTutorial.png"];
cameraHelpView.image = cameraTutorial;
[alert addSubview:cameraHelpView];
[alert show];
[alert release];
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController: picker animated: YES];
[picker release];
}