在做推送的时候,往往在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-30
  • 2022-01-08
  • 2021-11-06
  • 2021-05-08
  • 2021-12-04
  • 2021-12-04
  • 2021-11-27
猜你喜欢
  • 2021-11-18
  • 2022-01-02
  • 2021-12-03
  • 2021-12-05
  • 2021-11-30
  • 2021-11-20
  • 2021-11-30
相关资源
相似解决方案