2

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

ответ

15

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

С UIImagePickerController уже есть UINavigationController, вы можете нажимать на него прямые изображения. Таким образом, вместо

[picker.navigationController pushViewController:some_view_controller]; 

вобще

[picker pushViewController:some_view_controller]; 

удаления .navigationController.

+1

Двойной спасибо – Tim

-2

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

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

[picker pushViewController:photoPreview]; 
+0

Не совсем уверен, что первые две строки должны делать. Вы просто создаете локальную переменную, называемую navC, которая нигде не используется. Вы должны получить предупреждение компилятора «неиспользуемая переменная». Не вредите добавлению этих строк, но они ничего не делают. – George

Смежные вопросы