Swift中是否有与RACObserve(self, presentingViewController)
等效的内容?
或者其他为什么要模仿这种行为?
self.presentingViewController
是否为nil
。 viewDidAppear
/ viewDidDisappear
内进行通知。答案 0 :(得分:-1)
据我所知,您的问题:您需要知道现在显示的视图控制器,并且需要在viewDidAppear/viewDidDisappear
中进行通知。
因此,我们可以通过多种方式获得此信息。
简单的方法是:
2。在您的viewDidAppear/viewDidDisappear
中调用此方法
像这样:
获取哪个是顶级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
}
}
希望它会对您有所帮助!