SWRevealViewController推送到实际的导航控制器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SWRevealViewController推送到实际的导航控制器相关的知识,希望对你有一定的参考价值。

我正在使用SWRevealViewController,我想将视图控制器从菜单视图控制器推送到实际的导航视图控制器。问题是,当我使用self.revealViewController().frontViewController.navigationController!时,这个导航控制器始终是零并且不应该是,因为我总是使用导航控制器pushFrontViewController。

任何一点如何推动实际的导航控制器?我正在使用故事板。

答案

这是你的解决方案

使用Swrevealviewcontroller“setFrontViewPosition”从Menu到Normal ViewController

在斯威夫特

        let obj = self.storyboard?.instantiateViewControllerWithIdentifier("ViewController") as! ViewController
        let navController = UINavigationController(rootViewController: obj)
        navController.setViewControllers([obj], animated:true)
        self.revealViewController().setFrontViewController(navController, animated: true)
        self.revealViewController().setFrontViewPosition(FrontViewPosition.Left, animated: true)

在Objective-c中

 -(void)main{
     LoginViewController *tar = [self.storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
     UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tar];
     [navController setViewControllers: @[tar] animated: YES];

    [self.revealViewController setFrontViewController:navController];
    [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
}
另一答案

我想你正试图调用你的UINavigationcontroller的UINavigationcontroller

revealViewController()。frontViewController已经给了我UINavigationcontroller

我在侧菜单控制器及其工作中有这个

override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {

    var controller: UIViewController?
    var navController: UINavigationController?

    if identifier.hasSuffix("Orders")  {
        controller = self.storyboard?.instantiateViewController(withIdentifier: "ShowOrdersViewController") as! ShowOrdersViewController
        (controller as! ShowOrdersViewController).orderType = identifier
        navController = revealViewController().frontViewController as! UINavigationController
    }

    self.revealViewController().revealToggle(animated: true)
    navController?.pushViewController(controller!, animated: true)

    return false
}

以上是关于SWRevealViewController推送到实际的导航控制器的主要内容,如果未能解决你的问题,请参考以下文章

推送到 GitHub - 推送到...(回购)过早的 EOF 失败

如何将某个函数推送到返回数组的函数?(是否可以推送到返回数组的函数)[关闭]

如何将指标直接推送到 Cortex

最好用正确的值实例化对象然后推送到向量,或者实例化,推送到向量然后设置正确的值?

对故事板和以编程方式推送 ios Objective C 感到困惑

Docker---本地镜像推送到阿里云