Камера iPhone и средство выбора изображения

#iphone #cocoa-touch #iphone-sdk-3.0 #uiimagepickercontroller

#iPhone #cocoa-touch #iphone-sdk-3.0 #uiimagepickercontroller

Вопрос:

Я нашел много информации об использовании UIImagePickerController, чтобы позволить пользователю выбирать нужное изображение из данных приложения Photos. Мне интересно, как я могу создать этот же эффект в версии 3.0, поскольку не похоже, что большая часть старого кода больше работает. Кроме того, я хотел бы, чтобы пользователь мог сделать новый снимок из этого же всплывающего окна.

Спасибо за любую помощь!

Ответ №1:

Работает в версии 3.0 так же, как и раньше; я не думаю, что были какие-либо изменения. Я просто выделяю / инициализирую UIImagePickerController и передаю его в presentModalViewController, вот так:

 - (void) chooseImageFromLibrary {
    if( ![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary] ) return;

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    imagePickerController.allowsImageEditing = YES;
    [self presentModalViewController:imagePickerController animated:YES];
}

- (void) chooseImageFromCamera {
    if( ![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] ) return;

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePickerController.allowsImageEditing = YES;
    [self presentModalViewController:imagePickerController animated:YES];
}
  

Также реализуйте методы делегирования:

 - (void)imagePickerController:(UIImagePickerController *)picker 
        didFinishPickingImage:(UIImage *)image 
                  editingInfo:(NSDictionary *)editingInfo {
    // Do something with the image here.

    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}
  

Комментарии:

1. Привет, zpasternack: как бы выглядел мой файл .h для этих функций… Чему должен соответствовать класс?