Загрузка ModalViewController поверх другого Модального - PullRequest
0 голосов
/ 22 февраля 2011

Возможно, есть лучший способ сделать это, и, пожалуйста, направьте меня, если есть.

Я создаю UIImagePickerController с оверлейным представлением в viewDidAppear для «выбора из библиотеки»., «сделать фото», «вспышка», «источник камеры» и т. д.

// Set up the camera
imagePicker = [[UIImagePickerController alloc] 
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;

imagePicker.cameraOverlayView = [self cameraOverlayView];
cameraOverlayView.backgroundColor = [UIColor clearColor];
imagePicker.showsCameraControls = NO;
imagePicker.toolbarHidden = YES;

imagePicker.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:imagePicker animated:YES]; 

Затем у меня есть IBAction, который вызывает мою функцию «выбрать из библиотеки», загружая другой UIImagePickerController для выбора фотографии с устройства,

- (IBAction)library:(id)sender
{
    UIImagePickerController *libraryPicker = [[[UIImagePickerController alloc] init] autorelease];

    libraryPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    libraryPicker.delegate = self;

    [self.imagePicker presentModalViewController:libraryPicker animated:YES];
}

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

Есть идеи?Любая помощь или направление будет принята с благодарностью!

1 Ответ

1 голос
/ 22 февраля 2011

Попробуйте

[self presentModalViewController:libraryPicker animated:YES];

Вместо

[self.imagePicker presentModalViewController:libraryPicker animated:YES];
...