Самый простой способ - это представить его модально из вызывающего View Controller.
Так, например, если у вас есть кнопка на MyController
с именем showPhotos
:
-(IBAction)showPhotos:(id)sender {
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.allowsEditing = YES;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:imagePicker animated:YES];
}
Затем вам нужно реализовать
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
в том же контроллере, поскольку он (в моем примере) был задан в качестве делегата.
allowsEditing
позволяетпользователь может панорамировать, масштабировать и обрезать изображение перед использованием.Просто установите NO, если вы не хотите этого разрешать.
Внутри вашего метода делегата словарь содержит результирующий UIImage
.Вы можете получить через
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
или
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
, если разрешите редактирование.