如何从单击按钮打开SWRevealViewController?

问题描述 投票:1回答:2

我是XCode / iOS开发的新手,我正在尝试创建导航菜单。我跟着Appcoda's Slideout Sidebar-Menu Tutorial并设法让它上班。当SWRevealViewController是初始的ViewController时,它打开很棒。

现在,我有一个具有Button的登录页面,当我点击它时,我希望它被导航到SWRevealViewController。

我尝试使用此代码打开SWRevealViewController按钮单击,但它没有显示,并且代码在其他UIViewController上工作。

SWRevealViewController *menu = [[SWRevealViewController alloc] init]; [self.navigationController pushViewController:menu animated:YES];

有人可以指导我为什么以及如何实现我想要的东西?这可能是一个愚蠢的问题,但我需要帮助。提前致谢!

ios objective-c xcode mobile xcode6
2个回答
0
投票

你能检查下面的代码吗?我希望它对你有所帮助

第1步:只提供故事板参考给你SWRevealViewController,然后在你的按钮动作中写下面的代码

在Objective-C中

 SWRevealViewController *revealVC = [self.storyboard instantiateViewControllerWithIdentifier:@"swRevealViewContoller"];
                revealVC.delegate=self;
 [[UIApplication sharedApplication]keyWindow].rootViewController = revealVC;

在Swift中:

//MARK: searchBtnClicked
@IBAction func searchBtnClicked(sender: AnyObject) {
    let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
    let nextViewController = storyBoard.instantiateViewControllerWithIdentifier("swRevealViewContoller") as? SWRevealViewController
     UIApplication.sharedApplication().keyWindow!.rootViewController = nextViewController;
}

如果您遇到这种问题,只需将其视为“rootViewController”,然后享受您的编码..


0
投票

用这个

let myRevealViewControl:SWRevealViewController = self.revealViewController()
    let myStoryBoard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let myDest = myStoryBoard.instantiateViewController(withIdentifier: "homePage") as! UIViewController
    let myNewFrontView = UINavigationController.init(rootViewController: myDest)
    myRevealViewControl.pushFrontViewController(myNewFrontView, animated: true)
© www.soinside.com 2019 - 2024. All rights reserved.