我正在使我的应用程序在 iOS 13 的 iPadOS 上使用多个窗口,据我所知,由于它的弃用,我无法直接访问UIApplication
窗口,如何获得最顶层的视图控制器?
在iOS12之前,我使用此工作解决方案,您能建议替代方案吗?
+(UIViewController *)topMostViewController
{
UIViewController *vc = [[UIApplication sharedApplication].delegate.window rootViewController];
while(vc.presentedViewController)
{
vc = vc.presentedViewController;
}
return vc;
}
请参阅:如何获取多窗口 SceneDelegate Xcode 11 的当前键窗口等效项?
荒废的:你试过Application.shared.keyWindow?.rootViewController
吗?keyWindow(如果你愿意,也可以mainWindow
(是这里的重要部分。