UIImagePickerController перезагружает представление после его закрытия? - PullRequest
1 голос
/ 21 апреля 2010

Я создаю подборщик:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType =  UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
imagePicker.allowsEditing = NO;
[self presentModalViewController:imagePicker animated:YES];

и я обрабатываю didFinishPickingMediaWithInfo:

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissModalViewControllerAnimated:YES];
[picker release];}

но это вызывает viewDidLoad для себя. Это не нормально, не так ли? Что не так?

Ответы [ 3 ]

3 голосов
/ 21 апреля 2010

Ваше приложение, вероятно, получило предупреждение памяти, из-за которого все контроллеры представления, которые не отображаются на экране, выгружают свои представления. Это вполне нормально, когда вы находитесь в средстве выбора изображений, потому что камере требуется много памяти. В тот момент, когда вы закрываете средство выбора изображений, ваш контроллер вида перезагружает свой вид.

Поскольку это совершенно нормальное поведение, ваше приложение должно правильно справляться с этой ситуацией.

0 голосов
/ 12 апреля 2018

У меня была какая-то проблема, и я попытался установить презентацию «На весь экран», и она работала без перезагрузки

0 голосов
/ 12 октября 2010

У меня была похожая проблема с этим, я отображал всплывающее окно во время долгого нажатия на кнопку. Казалось, что модал не был отклонен после выбора изображения. Однако событие жеста длинного нажатия вызывается несколько раз, поэтому для каждого события отображалось новое всплывающее окно. В моем обработчике жестов я делаю что-то вроде этого, чтобы исправить:

if (![imagePickerPopoverController isPopoverVisible]){
   //show pop-up etc
}
...