在做推送的时候,往往在appdelegate里面接收到消息,跳转很麻烦,这里就介绍一种简单的跳转方法

首先,获取当前的停留的VC

- (UIViewController *)topVC:(UIViewController *)rootViewController{
    if ([rootViewController isKindOfClass:[UITabBarController class]]) {
        UITabBarController *tab = (UITabBarController *)rootViewController;
        return [self topVC:tab.selectedViewController];
    }else if ([rootViewController isKindOfClass:[UINavigationController class]]){
        UINavigationController *navc = (UINavigationController *)rootViewController;
        return [self topVC:navc.visibleViewController];
    }else if (rootViewController.presentedViewController){
        UIViewController *pre = (UIViewController *)rootViewController.presentedViewController;
        return [self topVC:pre];
    }else{
        return rootViewController;
    }
}

调用方法:

UIViewController *vc = [self topVC:[UIApplication sharedApplication].keyWindow.rootViewController];

然后执行跳转就可以了

相关文章:

  • 2021-11-18
  • 2021-09-27
  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-01
  • 2022-01-19
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-26
  • 2022-12-23
  • 2021-09-12
  • 2022-12-23
相关资源
相似解决方案