В моем приложении для iPad я позволяю пользователю выбрать изображение, используя следующий код:
UIImagePickerController* picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.delegate = self;
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker];
self.popoverController = popover;
popoverController.delegate = self;
[popoverController presentPopoverFromRect:self.view.frame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
[picker release];
(я настроил класс как UIPopoverControllerDelegate и UIImagePickerControllerDelegate, и я настроил обратные вызовы для обоих делегатов.)
Теперь странная вещь заключается в том, что если я выбираю изображение из фотоальбома «Сохраненные фотографии», вызывается мой метод обратного вызова «imagePickerController: didFinishPickingImage», и я получаю изображение, и все в порядке.
Но если я выберу изображение из любого из других альбомов, мой обратный вызов "imagePickerControllerDidCancel" будет вызван - и я не верну изображение.
Есть идеи? Я искал в Интернете высоко и низко ...
Спасибо,
Реувен
Сюжет утолщается ...
При добавлении:
allowEditing = YES;
Я по-прежнему могу выбирать (и обрезать / масштабировать) изображения из альбома сохраненных фотографий, но при попытке использовать изображения из других альбомов происходит сбой iPad с отображением отладчика:
2010-06-03 08: 16: 06.759 uPrintMobile [98412: 207] * Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '* - [NSCFDictionary setObject: forKey:]: попытка вставить нулевое значение (ключ: UIImagePickerControllerOriginalImage) '
Все еще не знаю ...