Насколько я понимаю ваш вопрос: вам нужно знать, какой контроллер представления представлен сейчас, и вам нужно уведомление в viewDidAppear/viewDidDisappear
.
Так что мы можем получить это несколькими способами.
Простой способ:
- Получить информацию о том, какой из них сейчас является верхним ViewController.
2.Вызовите этот метод в своем viewDidAppear/viewDidDisappear
Вот так:
Получить Который является Top ViewController
func getTopViewController() -> UIViewController? {
if var topVC = UIApplication.shared.keyWindow?.rootViewController {
while let presentedViewController = topVC.presentedViewController {
topVC = presentedViewController
return topVC
}
return topVC
}
return nil
}
Позвонить в viewDidAppear:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
if let top = getTopViewController() {
print("topView Controller name \(top.title)")
top.view.backgroundColor = .red
}
}
Надеюсь, это поможет вам!