назначение нового rootViewController для окна не удаляет текущую из иерархии представления при отладке иерархии представления с использованием xcode - PullRequest
0 голосов
/ 25 января 2019

старый корневой контроллер представления не удален при назначении нового корневого контроллера представления

Я хочу перезагрузить приложение с самого начала, но я замечаю, что старый корневой контроллер представления не удален из иерархии представления

private func reset() {
    guard let window = UIApplication.shared.delegate?.window
        else { return }
    window?.rootViewController = UIStoryboard.init(name: "Main", bundle: nil).instantiateInitialViewController()
    UIView.transition(with: window!, duration: 2, options: .transitionCrossDissolve, animations: {
    }, completion: nil)
}

1 Ответ

0 голосов
/ 25 января 2019

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

       for (UIView* subView in self.window.rootViewController.view.subviews) 
      {
          [subView removeFromSuperview];
      }

      [self.window.rootViewController.view removeFromSuperview];

Это, очевидно, известная проблема в iOS. Вы можете увидеть Подробное описание здесь

...