【问题标题】:SWRevealViewController push to actual navigation controllerSWRevealViewController 推送到实际的导航控制器
【发布时间】:2016-05-24 22:00:55
【问题描述】:

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

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

【问题讨论】:

    标签: ios swift uinavigationcontroller swrevealviewcontroller


    【解决方案1】:

    这是你的解决方案

    使用 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)
    

    在Objectctive-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];
    }
    

    【讨论】:

    • 你能从 UIAlert 而不是菜单导航 SWReveal 吗?
    【解决方案2】:

    我猜你正在尝试调用 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
    }
    

    【讨论】:

      猜你喜欢
      • 2013-04-22
      • 2014-01-11
      • 1970-01-01
      • 2017-12-23
      • 1970-01-01
      • 2016-08-22
      • 1970-01-01
      • 2015-05-28
      • 2013-07-19
      相关资源
      最近更新 更多