presentViewController 的疑问

原创 2016年08月31日 11:07:02

刚才用presentViewController去切换页面  出现了如下的错误报告


Warning: Attempt to present <UINavigationController: 0x6e8ade0> on <LoginViewController: 0x6b3ef90> whose view is not in the window hierarchy!


用万能的百度搜了下  


如下是解决方法   亲测可以,记录一下


- (UIViewController*)topViewController

{

    return [self topViewControllerWithRootViewController:[UIApplication sharedApplication].keyWindow.rootViewController];

}


- (UIViewController*)topViewControllerWithRootViewController:(UIViewController*)rootViewController

{

    if ([rootViewController isKindOfClass:[UITabBarController class]]) {

        UITabBarController *tabBarController = (UITabBarController *)rootViewController;

        return [self topViewControllerWithRootViewController:tabBarController.selectedViewController];

    } else if ([rootViewController isKindOfClass:[UINavigationController class]]) {

        UINavigationController* navigationController = (UINavigationController*)rootViewController;

        return [self topViewControllerWithRootViewController:navigationController.visibleViewController];

    } else if (rootViewController.presentedViewController) {

        UIViewController* presentedViewController = rootViewController.presentedViewController;

        return [self topViewControllerWithRootViewController:presentedViewController];

    } else {

        return rootViewController;

    }

}



、、这样进行跳转就可以了

[[self topViewController] presentViewController:nav animated:YES completion:nil];


IOS Present View Controller 详解

第一:基础的Present View Controller 解析 一、主要用途   弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示...
  • Future_One
  • Future_One
  • 2015年12月27日 10:28
  • 2436

iOS pushViewController 和 presentViewController的区别 详解

pushViewController 导航控制器入栈的方式切换页面 presentViewController 模态切换的方式切换页面 1> 用 UINavigationContr...
  • chenshun123
  • chenshun123
  • 2017年01月07日 21:24
  • 3560

PresentViewController切换界面

视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画, 其中切换方法如下: – presentV...
  • ITyanping
  • ITyanping
  • 2014年09月14日 16:22
  • 52031

PresentViewController界面切换

视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画,其中切换方法如下:– presentViewContr...
  • sbt0198
  • sbt0198
  • 2016年11月09日 21:49
  • 532

PresentViewController动画转场

其实为了更好地控制动画最好的是通过转场动画协议来写,由于时间比较仓库就用了系统自带的一些动画效果.有时间在研究一下,不过这里有个封装得比较好的转场动画,给出链接:https://github.com/...
  • kingcodexl
  • kingcodexl
  • 2015年11月13日 17:48
  • 5968

presentViewController显示方式的窗口,没有导航栏的解决方法

ViewController *Controller = [[ViewController alloc] init]; [self presentViewController:Controller a...
  • shijishan
  • shijishan
  • 2016年10月17日 19:50
  • 3842

页面跳转问题presentViewController

跳转页面的时候 我用的是 [self presentViewController:nLogin animated:NO completion:^{              }];,有A到...
  • xdrt81y
  • xdrt81y
  • 2014年06月04日 10:11
  • 12897

presentViewController 、pushViewController和presentModalViewController

presentModalViewController 、presentViewController 和pushViewController 都能够用来更新界面,但是它们有一定的不同之处。...
  • k16643275hn
  • k16643275hn
  • 2016年07月20日 21:04
  • 4924

如何在多次presentViewController后直接返回最底层界面

presentViewController是经常会用到的展现ViewController的方式,而显示和去除presentViewController也是很简单的,主要是下面两个方法: - (...
  • longshihua
  • longshihua
  • 2016年04月29日 15:55
  • 4473

iOS-多级presentViewController直接返回一级界面

转自: http://www.cnblogs.com/yingkong1987/p/3343937.html当遇到:A presentViewController B , B presentVie...
  • qiuxuewei2012
  • qiuxuewei2012
  • 2016年03月23日 09:35
  • 4641
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:presentViewController 的疑问
举报原因:
原因补充:

(最多只允许输入30个字)