navigationController始终是nill

时间:2015-09-30 08:21:46

标签: ios

我在iOS应用中使用this project作为侧边菜单,我将注销作为菜单项之一。当我点击这个项目时,我正在执行以下代码片段。

if(varView==4){        
    println("toLogin")
    self.navigationController?.dismissViewControllerAnimated(true, completion: nil)

    if let navController = self.revealViewController().navigationController {
        navController.popViewControllerAnimated(true)
    }
    else{
        println("There is no vc")
    }
    //if let navController = self.navigationController {
        //navController.popViewControllerAnimated(true)
    //}
    //else{
        //println("There is no vc")
    //}
   //self.revealViewController().revealToggleAnimated(true)
   //// self.revealViewController().navigationController?.popToViewController(LoginViewController() as UIViewController, animated: true)
   //                        self.revealViewController().navigationController?.popViewControllerAnimated(true)
}

总是我得到“没有vc”的结果。我只想在注销之后显示 LoginViewController

2 个答案:

答案 0 :(得分:0)

尝试取出self.navigationController?.dismissViewControllerAnimated(true, completion:nil)行 然后尝试使用navController.popViewControllerAnimated(true)而不是navController.popToRootViewController() 要进一步查看问题,您在github链接上的文件是什么?他在那里有大约4个不同的项目。

答案 1 :(得分:0)

如果您使用的是swift,请按照本教程进行操作。

它会帮助你。

SWrevealview controller in swift

如果您使用objective c

SWRevealViewController *revealController = self.revealViewController;

[revealController setFrontViewPosition:FrontViewPositionRight animated:YES];


UIViewController *newFrontController = nil;

newFrontController = [[LoginViewController alloc] init];

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:newFrontController];

[revealController pushFrontViewController:navigationController animated:YES];