UIImagePickerController получил белый экран после возвращения из UIViewController - PullRequest
0 голосов
/ 14 июля 2011

Вот ситуация:

После съемки с

[UIImagePickerController takePicture];

Следующая функция делегата:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

будет называться.

Код внутри

NSLog(@"Photo taken");
UIImage *newImage = [self resizeImage:[info objectForKey:UIImagePickerControllerOriginalImage]];
NSLog(@"Width: %d, Height: %d ",(int)newImage.size.width, (int)newImage.size.height);
//[imagePickerController dismissModalViewControllerAnimated:YES];
ProcessCompleteView *pcv = [[ProcessCompleteView alloc] initWithNibName:@"ProcessCompleteView" bundle:nil];
[imagePickerController presentModalViewController:pcv animated:YES];
[pcv release];

Я вызвал другое представление для отображения sth, и когда я возвращаюсь из pcv с помощью dismissModalViewController , область, которая должна отображать захват камеры в реальном времени, становится белой. Однако, когда я отклоняю UIImagePickerController и представляю его снова, камера работает нормально!

Кто-нибудь может помочь мне в этой странной проблеме ??

Спасибо.

1 Ответ

0 голосов
/ 14 июля 2011

Порядок отображения вида неверен.

Правильный порядок: представление представления родительского контроллера -> представление представления UIImagePickerController -> представление UIImagePickerController скрытое -> представление ProcessCompleteView

Итак, пожалуйста, удалите

ProcessCompleteView *pcv = [[ProcessCompleteView alloc] initWithNibName:@"ProcessCompleteView" bundle:nil];
[imagePickerController presentModalViewController:pcv animated:YES];
[pcv release];

в метод родительского контроллера viewWillAppear и вызов

ProcessCompleteView *pcv = [[ProcessCompleteView alloc] initWithNibName:@"ProcessCompleteView" bundle:nil];
[parentController presentModalViewController:pcv animated:YES];
[pcv release];
...