Черный фон при пользовательском переходе

#ios #swift #uitableview #caanimation #catransition

#iOS #swift #uitableview #анимация #переход

Вопрос:

Я хочу изменить вид с помощью пользовательского перехода. Это работает, но фоновый экран темный, поэтому он выглядит немного странно.

Я пытался добавить

 self.window!.backgroundColor = UIColor.white
  

делегату, но это не решает проблему.

Вот мой код перехода

 let homeView = self.storyboard?.instantiateViewController(withIdentifier: "ViewController") as! ViewController
        let transition = CATransition()
        transition.duration = 2.3
        transition.type = CATransitionType.reveal
        transition.subtype = CATransitionSubtype.fromLeft
        view.window!.layer.add(transition, forKey: "transition")
        self.dismiss(animated: false, completion: nil)
        present(homeView, animated: false, completion: nil)
  

Ответ №1:

Чтобы изменить цвет фона во время переходов, это либо само окно:

 UIApplication.shared.keyWindow?.backgroundColor = UIColor.white
  

контроллер корневого представления:

 if let root = UIApplication.shared.keyWindow?.rootViewController as? YourRootViewController {
    root.view.backgroundColor = UIColor.black
}
  

контроллер представления или контейнерный вид перехода.

Комментарии:

1. Поместите его прямо перед презентацией, а затем измените его обратно в обработчике завершения презентации.