Я пытаюсь сделать переход от UIImagePickerController к другому контроллеру представления.
Я попытался выполнить push-переход, потому что знал, что UIImagePickerController является подклассом UINavigationController, но это не сработало. Ошибка: "Push segues можно использовать только тогда, когда исходный контроллер управляется экземпляром UINavigationController".
Теперь я пробую модальный переход, но когда это происходит, экран становится черным.
Есть ли связь между двумя проблемами, и как я могу сделать, пожалуйста?
Ответ 1 · рейтинг 2 · Ayan Sengupta
Вы не можете выполнить переход непосредственно из файла UIImagePickerController.
Попробуйте добавить push-переход из контроллера представления, который создает экземпляр UIImagePickerController для целевого VC.
Теперь реализуйте UIImagePickerControllerDelegate метод didFinishPickingMediaWithInfo: в исходном VC и внутри этого вызова метода self performSegueWithIdentifier: sender: с идентификатором перехода, который вы недавно создали.
Конечно, вам нужно установить идентификатор для перехода и добавить UINavigationControllerDelegate, UIImagePickerControllerDelegate ссылки на протокол в исходный интерфейс заголовка VC.
Также вам может понадобиться реализовать метод prepareForSegue: в исходном VC, если вам нужно передать некоторые данные (например, информацию об изображении) в целевой VC.