Swift получить черный экран при проведении - PullRequest
0 голосов
/ 24 июня 2019

В главном vc (в основной раскадровке у меня есть контроллер навигации и просмотр контроллера) после загрузки всех настроек (с сервера) я представляю новый vc

DispatchQueue.main.async {
  var stor: UIStoryboard!
  stor = UIStoryboard(name: "Profile", bundle: nil)
  let viewcontroller = stor.instantiateViewController(withIdentifier: "profileVC")
  let nav = UINavigationController(rootViewController: viewcontroller)
  self.present(nav, animated: true, completion: nil)   
}

in profileVC

navigationController?.interactivePopGestureRecognizer!.delegate = self // enable swipe to back

// present new vc
var stor: UIStoryboard!
stor = UIStoryboard(name: "Settings", bundle: nil)
let viewcontroller = stor.instantiateViewController(withIdentifier: "settingsVC")
self.navigationController?.pushViewController(viewcontroller, animated: true)

но иногда я получаю черный экран изображение profileVC) и изображение (в другом виртуальном канале, выдвинутом из profileVC), когда проводите по экрану

Какя могу это исправить?

Ответы [ 3 ]

0 голосов
/ 24 июня 2019

Удалите UINavigationController из profileVC и представьте только контроллер вида.Если вы хотите явно добавить навигационный контроллер, используйте show(_ vc: UIViewController, sender: Any?) вместо

Редактировать: Вероятно, вам нужен следующий поток:

UINavigationController -> MainViewController -> show ProfileViewController

Как добавить контроллер навигации:

  • перейти на раскадровку (если вы ее используете)
  • выберитеview controller (Main)
  • Editor -> Embed In -> Navigation controller

PS: не принудительно развертывать (navigationController?.interactivePopGestureRecognizer!.delegate = self) свойства, которые не контролируются вами (и желательно всегда)

0 голосов
/ 24 июня 2019

Полагаю, у вас есть четкий цвет вашего суперпредставления. Дважды проверьте его. Это происходит, когда вы очищаете цвет своего суперпредставления.

0 голосов
/ 24 июня 2019

Я думал, что вы должны изменить этот синтаксис

  • С
  mainView = UIStoryboard(name: "Profile", bundle: nil)
  • К
  mainView = UIStoryboard(name: "Main", bundle: nil)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...