2014-12-16 2 views
1

Работа с приложением, которое имеет выпадающее меню и панель, аналогичную facebook. Моя проблема в том, что SWRevealController работает отлично, и все происходит нормально. Тем не менее, кнопки панели вкладок скрыты после изменения вида. Взгляните на мою иерархию раскадровки: https://drive.google.com/a/stolaf.edu/file/d/0BxPvzAFa0lPjclp4c01Jb1RsQ1U/viewUINavigationController блокирует UITabBar с помощью SWRevealViewController

Вот код нажатия для перехода, который подталкивает каждый вид.

- (void) prepareForSegue: (UIStoryboardSegue *) segue sender: (id) sender 
{ 
    // Set the title of navigation bar by using the menu items 
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 

    UINavigationController *destViewController = (UINavigationController*)segue.destinationViewController; 
    // Set the photo if it navigates to the PhotoView 


    if ([segue.identifier isEqualToString:@"tab"]) { 


     Tabbar *photoController = (Tabbar*)segue.destinationViewController; 

     photoController.name = [NSString stringWithFormat:@"%ld",(long)indexPath.row]; 
    } 




    if ([segue isKindOfClass: [SWRevealViewControllerSegue class]]) { 


     SWRevealViewControllerSegue *swSegue = (SWRevealViewControllerSegue*) segue; 

     swSegue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc) { 


      UINavigationController* navController = (UINavigationController*)self.revealViewController.frontViewController; 
      [navController setViewControllers: @[dvc] animated: NO ]; 

      [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES]; 
     }; 

    } 

} 

Не совсем уверен, но я думаю, что навигационный контроллер, который создается в Segue является тот, который добавляется через панель вкладок, следовательно, скрывающую все вкладки, кнопки строки полностью. Есть предположения?

+0

y u возьмите это, просто u можете взять на ** didselectrowatindexpath ** –

ответ

0

я столкнулся с той же проблемой .. Doing простой

self.view.tabbarcontroller.tabbar.hidden=NO; 

сделал трюк для меня,

добавить это в представлении сделал метод загрузки конкретного viewcontrollor, он будет работать нормально ,

+0

благодарит за ваш ответ. Я пробовал это, но он скрывает панель вкладок все вместе. Я хочу, чтобы контроллер nav не блокировал панель вкладок. – chancify

1

У меня такая же проблема, как и вы, и я написал этот код. Мы должны получить первый taBarController, а затем это навигационный контроллер.

if ([segue isKindOfClass: [SWRevealViewControllerSegue class]]) { 
    SWRevealViewControllerSegue *swSegue = (SWRevealViewControllerSegue*) segue; 

    swSegue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc) { 

     UITabBarController *tab = (UITabBarController *)self.revealViewController.frontViewController; 
     int index = tab.selectedIndex; 
     UINavigationController *nav = [tab viewControllers][index]; 
//  [nav pushViewController:dvc animated:YES]; 
     [nav setViewControllers: @[dvc] animated:NO]; 
     [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES]; 
    }; 

} 
+0

Это ответ? Или вы говорите, что у вас есть тот же вопрос? –

+1

лучший ответ Спасибо –

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