2016-07-13 7 views
0

Я использовал SWRevealviewcontroller в моем проекте. Сначала я взял viewcontroller с именем «SWREVEALVIEWController» и установил sw_rear на номер tableviewcontroller. А в части sw_front я установил TabbarViewcontroller.как решить проблему swrevealviewcontroller

enter image description here

Теперь у меня есть несколько строк данных в моей tableview, которые я установил, как sw_rear.

menuArray = ["HOME","ORDER NOW","PHOTOS","REVIEWS","FEEDBACK","RATE US","LOGIN"] 

И нажав на каждую конкретную ячейку, я установил ее в соответствующий viewcontroller следующим образом.

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    switch(indexPath.row) 
    { 
    case 0 : 
     print("1st row") 
     //self.performSegueWithIdentifier("Main", sender: self) 
     let mainStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) 
     let vc : UINavigationController = mainStoryboard.instantiateViewControllerWithIdentifier("home") as! UINavigationController 
     self.presentViewController(vc, animated: true, completion: nil) 


     case 1 : 
     print("2nd row") 
     let mainStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) 
     let vc : UINavigationController = mainStoryboard.instantiateViewControllerWithIdentifier("menuVC") as! UINavigationController 
     self.presentViewController(vc, animated: true, completion: nil) 

Но после использования этого он подходит к соответствующему месту, но без элементов табуляции.

см. Экраны. первый экран

enter image description here

после нажатия ячейки меню на стороне, например, нажав на дом домашние viewcontrollers открытым, но без его TabBar пункта. как это решить ??

enter image description here

enter image description here

И после того, что скользящая кнопка swRevealviewcontromller не работает после возвращения в любую viewcontroller, нажав на меню ячеек ... ????

+0

вы можете переименовать контроллер представления на другое имя? –

+0

да любое имя, которое вы можете принять @BashirSidani –

ответ

1

Вам нужно использовать метод pushFrontViewController от SWRevealViewController изменить передний контроллер представления.

Пример

self.revealViewController().pushFrontViewController(viewController, animated: true) 

Чтобы толкать TabbarViewcontroller, вы должны дать ему идентификатор в раскадровку. Затем вы можете использовать

let sb = UIStoryboard(name: "Main", bundle: nil) 
let vc = sb.instantiateViewControllerWithIdentifier("yourtabbarvcidentifier") 
self.revealViewController().pushFrontViewController(vc, animated: true) 

EDITED

Чтобы открыть определенную вкладку

let sb = UIStoryboard(name: "Main", bundle: nil) 
let vc = sb.instantiateViewControllerWithIdentifier("yourtabbarvcidentifier") as! UITabBarController 
vc.selectedIndex = 1 // Your index you want to open 
self.revealViewController().pushFrontViewController(vc, animated: true) 

Я не проверить это

+0

, но bydefault он перейдет к первым элементам панели. если, щелкнув по строкам ячейки sw_rear, я должен перейти к пункту 2-го или 3-го столбца, а затем? –

+0

Отметьте отредактированный ответ! –

+0

Thats great bro. за работой. Спасибо –

0

Добавьте этот код в SW_front ViewController

-(void)viewWillAppear:(BOOL)animated{ 
 
    
 
    if revealViewController() != nil { 
 
     menuButton.target = revealViewController() 
 
     menuButton.action = "revealToggle:" 
 
     view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
 
    }

+0

можете ли вы отправить в swift –

+0

Я уже использовал его в viewWillAppear.но все же, вернувшись обратно к домашнему menubutton, действие не работает, когда я устанавливаю segue с другой страницы на этот viewcontroller –

+0

, используя навигационный контроллер для вида спереди –

Смежные вопросы