下面这段代码是放在AppDelegate中的applicationDidEnterBackground方法中,是为了当程序进入后台后,判断是否是指定的ViewController,如果是则加载指定的ViewController。
if ([self.window.rootViewControllerisKindOfClass:[UINavigationControllerclass]]) {
UINavigationController *nav = (UINavigationController *)self.window.rootViewController;
UIViewController *vc = nav.viewControllers[nav.viewControllers.count - 1];
if ([vcisKindOfClass:[NewDisplayViewControllerclass]] || [vcisKindOfClass:[POSpayViewControllerclass]]) {
NewDisplayLoginViewController *nl = [[NewDisplayLoginViewControlleralloc]init];
UINavigationController *nav = [[UINavigationControlleralloc]initWithRootViewController:nl];
[self.windowsetRootViewController:nav];
[self.windowmakeKeyAndVisible];
}
}
在界面代码中控制window的跳转
+(void)JumpWalletLogin
{
WXXViewController *wxx = [tooles GetinstantiateViewControllerWithIdentifier:@"WXXView"];
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:wxx];
WXXAppDelegate *appDelegate = (WXXAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.window setRootViewController:nav];
[appDelegate.window makeKeyAndVisible];
}
这篇博客介绍了如何在AppDelegate的applicationDidEnterBackground方法中,通过检查rootViewController类型来判断是否为特定的UIViewController。如果找到匹配的类,如NewDisplayViewController或POSpayViewController,代码会替换当前界面为NewDisplayLoginViewController。此外,还展示了如何在代码中控制窗口的跳转到WXXViewController的方法。
448

被折叠的 条评论
为什么被折叠?



