Отобразите UIAlertView перед запуском UIImagePickerController - PullRequest
0 голосов
/ 15 сентября 2009

Мое приложение запрашивает пользователя через 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];
    }

1 Ответ

1 голос
/ 15 сентября 2009

Реализация делегата для UIAlertView и реализация alertView: didDismissWithButtonIndex: для запуска UIImagePickerController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...