IPhone UIView и UIImagePickerController - PullRequest
       0

IPhone UIView и UIImagePickerController

1 голос
/ 14 апреля 2011

Я новичок в разработке для Iphone, и у меня возникла ситуация, когда мне нужен ViewController с именем PhotoSelectorViewController, который попросит выбрать изображения из телефонной библиотеки.Я знаю, что UIImagePickerController существует, но я не знаю, как правильно его использовать.

Я попробовал следующее:

Первый метод:

  1. Я создал ViewController с именемPhotoSelectorViewController с xib-файлом.
  2. Я удаляю View из xib-файла и добавляю UIImagePickerController в список.
  3. Я не знаю, что делать дальше, чтобы запустить средство выбора, когда создается экземплярэтот класс вызывает некоторую функцию инициализации в этом ViewController.

Второй метод:

  1. Я создал новый проект и добавил контроллер представления с именем PhotoSelectorViewController, где есть Window и UIViewтолько.
  2. В функции UIView viewDidLoad я создаю экземпляр UIImagePickerController и добавляю его в представление.
  3. Я не знаю, как будет запущен этот инструмент выбора, когда будет создан экземпляр этого контроллера представления?

Пожалуйста, помогите, если можете.

Ответы [ 2 ]

2 голосов
/ 14 апреля 2011

Самый простой способ - это представить его модально из вызывающего 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];, если разрешите редактирование.

1 голос
/ 14 апреля 2011

Ваш второй метод ближе, но не Добавьте его к представлению . Вместо этого вам нужно либо представить UIImagePickerController в качестве контроллера модального представления, либо поместить его в стек навигации.

Думайте об этом, как будто PhotoSelectorViewController является пусковой установкой для UIImagePickerController.

, документы дают хорошую последовательность (см. 1-5 в верхней части): http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html

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