Нажмите UIImagePickerController влево

Я делаю приложение для камеры, которое дает пользователю доступ к библиотеке фотографий. Они касаются кнопки, и всплывает UIImagePickerControllerSourceTypeSavedPhotosAlbum с использованием presentModalViewController. Когда они касаются фотографии, я хочу, чтобы представление смещало ImagePicker влево и появлялось новое представление. Дело в том, что я хочу, чтобы ImagePicker оставался включенным, поэтому, когда они возвращаются к нему, нет задержки . Это происходит во многих приложениях для камер, таких как NightCamera. Всякий раз, когда я использую [self.navigationController pushViewController:photoPreview];, он перемещает представление в основное представление, а не в средство выбора. Когда я использую [picker.navigationController pushViewController:photoPreview];, ничего не происходит, потому что navigationController средства выбора равен нулю. Кто-нибудь знает что делать?


person iSkythe    schedule 22.12.2009    source источник


Ответы (2)


Да, это возможно. Не существует такой вещи, как «модальный контроллер представления», любой контроллер представления может быть представлен модально.

Поскольку UIImagePickerController уже является UINavigationController, вы можете направлять представления непосредственно на него. Итак, вместо

[picker.navigationController pushViewController:some_view_controller];

просто сделать

[picker pushViewController:some_view_controller];

удаление .navigationController.

person George    schedule 03.11.2010

Попробуй это:

if (!picker.navigationController)
    UINavigationController *navC = [[[UINavigationController alloc] initWithRootViewController:picker] autorelease];

[picker pushViewController:photoPreview];
person Juan de la Torre    schedule 14.06.2012
comment
Не совсем уверен, что должны делать первые две строки. Вы просто создаете локальную переменную с именем navC, которая нигде не используется. Вы должны получить предупреждение компилятора о неиспользуемой переменной. Нет ничего плохого в добавлении этих строк, но они ничего не делают. - person George; 07.03.2013