解除新的UIWindow不会在基本窗口中触发viewWillAppear



在我当前的项目中,我有一个RootViewcontroller表示包含HolidayViewControllernavigation controller。这个HolidayViewController调用一个函数,该函数创建一个NEW窗口,以便用户可以登录到不同的服务。登录成功后,NEW窗口将被关闭,并显示以下代码(来自NEW窗口rootViewController(:

注:baseHolidayViewController.view.window

rootViewController?.dismiss(animated: true, completion: {
if self.isKeyWindow || base.isKeyWindow {
base.makeKeyAndVisible()
}
windowLevel = UIWindow.Level(-1)
})

除了当NEW窗口被解除时没有调用HolidayViewControllerviewWillAppear之外,一切看起来都很好。我可以使用NotificationCentercompletion块来强制执行操作,但我不想这样做,因为我希望我的新窗口更通用,并实际使用正常的iOS事件链。

这正常吗?有没有办法让它很好地工作?

如果NEW窗口显示为模态,则驳回NEW窗口将不会调用HolidayViewController的viewwillrappend。因为HolidayViewController已经在视图层次结构中,并且在NEW窗口下可见。在关闭NEW窗口时,您可以使用委派来调用HolidayViewController的方法。

最新更新