我在appdelelagte 中设置了跟试图,为root,在root 里写了一个tabbar ,然后其中有一个界面,判断是否登录,登录present ,在root 试图中  [self presentViewController:bar animated:NO completion:^{
    }];
调用的tabBar ,但是就出现了 Presenting view controllers on detached view controllers is discouraged <L_RootViewController: 0x7fb6b3514850>.
警告,请问怎么解决

解决方案 »

  1.   

    好像是你已经present一个视图了,然后再present视图就会有这个提示
      

  2.   

    [self presentViewController XXX] 中的 self 指的是哪个视图? 
    如下方法应该可以解决你的问题: 
    你应该从window.rootController 中来present出来登录视图。所以弹出登录的代码你放到AppDelegate中。例如如下代码-(void)showLogin {
             UITabBarcontroller *tabController = (UITabBarcontroller *)self.window.rootViewController;
             LoginViewController *login = [LoginViewController new];
             [tabController presentViewController:login animated:NO completion:nil];
    }在别的类中可以通过NSNotification 来调用AppDelegate中的这个 showLogin方法
      

  3.   

    怎么调用呀。 [(AppDelegate*)[UIApplication sharedApplication].delegate colseAppView];  这样吗?
      

  4.   

    那我怎么让login消失的时候,直接跳入tabbar中的个人中心页面
      

  5.   

    楼主这个问题解决了么?我用segue导航业出现了这个情况。
      

  6.   

    我也有遇见这种情况,自己摸索出了一个线程解决的方法:http://www.cnblogs.com/linzhengbo/p/5626726.html,但是不知原因,请大神知道