【问题标题】:KeyWindow NavigationController is null when modal is open after iOS 14.2 UpdateiOS 14.2 更新后打开模式时 KeyWindow NavigationController 为空
【发布时间】:2020-11-24 21:19:19
【问题描述】:
在 Xamarin 上的 iOS 14.2 更新后,当弹出消息(模式)打开时,UIApplication.SharedApplication.KeyWindow.NavigationController 为空。
我正在尝试 PopToRoot,但由于此错误,我无法这样做,因为 KeyWindow 的 NavigationController 为空。有人遇到同样的问题或知道解决方法吗?
这只发生在 iOS 14.2 上,它在 iOS 14.1 上运行
【问题讨论】:
标签:
c#
ios
xamarin
xamarin.ios
【解决方案1】:
我的 KeyWindow (iOS 14.2) 上什至没有此属性,建议使用 RootViewController,将其设置为您实际作为根的控制器类型(很可能是 UINavigationViewController),这将是您的参考,基于您的项目架构(关于您如何构建 UI):
更好的方法 #1: 实现一个导航服务,该服务将保存对您的 UINavigrationController 的引用,并且每当需要导航时,您可以通过 IoC 解析该服务并执行所需的方法。
更好的方法 #2: 切换到 Xamarin.Forms 和 Shell 导航,其中所有这些内容都已处理并作为导航服务提供给您。