2017-01-11 3 views
1

Я пытаюсь обновить свой диспетчер просмотра (перезагрузить его) с помощью UIApplication.shared.keyWindow?.rootViewController, как показано ниже в коде, однако он работает при перезагрузке новации контроллер не существует, я имею в виду там задняя кнопку, которая может перейти к предыдущему контроллеру зрения он не появляется, когда я сделал это - любой помощьSwift 3 - Как добавить кнопки навигационных контроллеров (в качестве Назад) после обновления - обновить и перезагрузить мой диспетчер представлений

@IBAction func Save(_ sender: AnyObject) { 
UIApplication.shared.keyWindow?.rootViewController = storyboard!.instantiateViewController(withIdentifier: "UploadPhotoviewcontroller") 
     } 

ответ

0

Я нашел ответ:

чтобы отменить выбор принимаемого изображения в elcimagepickercontroller использовании ниже кода:

imagePicker.popToRootViewController(animated: true) 
self.dismiss(animated: true, completion: nil) 
0

по умолчанию кнопки назад, внешний вид и работу в текущем стеке navigationController навигации. Если вы измените rootViewController, это действие уничтожит текущий стек навигации и все предыдущие контроллеры. И ты не можешь вернуться.

Измените rootViewController на плохую практику. Я думаю, что у вас есть проблемы с архитектурой

+0

Я изменил его, чтобы UploadPhotoviewcontrolle r = self.storyboard? .instantiateViewController (withIdentifier: "UploadPhotoviewcontroller") как! UploadPhotoviewcontroller self.navigationController? .pushViewController (UploadPhotoviewcontroller, анимированный: true), но проблема теперь возвращается к основному виду, а затем перезагружает его. – rania

+0

Для возврата к основному контроллеру в стеке навигации вам нужно использовать self.navigationController.popToRootViewController() в UploadPhotovie wcontroller. Что вы имеете в виду, тогда говорите «нужно перезагрузить это»? –

+0

Да, это происходит, но он показывает предыдущий вид перед загрузкой UploadPhotovie wcontroller, который выглядит неправильно – rania

0

@ Джон, когда я пытаюсь комментировать это не сделал, и я не могу ответить на ваш вопрос как комментарий - я не знаю, почему

Именно это является причиной

+0

Тогда вам не нужно перезагружать контроллер. Вам нужно просто снять выделенные элементы. ELCimagePickercontroller реализует UITableView, и вы можете использовать стандартный [tableView deselectRowAtIndexPath: indexPath анимированный: ДА]; –

+0

@jon не может найти какого-либо элемента tableview для ELcimagepicker – rania

+0

ELCAlbumPickerController - UITableViewController - @interface ELCAlbumPickerController: UITableViewController

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