2014-11-10 2 views
1

Я полный новичок в разработке XCode/iOS, и я пытаюсь создать меню навигации. Я последовал за Appcoda's Slideout Sidebar-Menu Tutorial и сумел заставить его работать. Он отлично открывается, когда SWRevealViewController является исходным ViewController.Как открыть SWRevealViewController с помощью кнопки?

Прямо сейчас у меня есть целевая страница с кнопкой, и когда я нажимаю на нее, я хочу, чтобы она была перемещена в SWRevealViewController.

Я пробовал эти коды, чтобы открыть SWRevealViewController, делая это при нажатии кнопки, но он не отображается, а коды работают на другом UIViewController.

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

Может кто-то наставит меня о том, почему и как я могу добиться того, чего я хочу? Это может быть глупый вопрос, но мне нужна помощь. Заранее спасибо!

enter image description here

+0

показать снимок экрана, им не попасть в вашу точку –

+0

@ Анбу.Картик загрузил снимок экрана по запросу. извините за маленький шрифт. первый - контроллер вида с кнопкой. второй - SWRevealViewController. –

ответ

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)