Показать панель вкладок из бокового меню REFrostedViewController target- c - PullRequest
0 голосов
/ 18 февраля 2020

Я использую REFrostedViewController (https://github.com/romaonthego/REFrostedViewController), чтобы показать боковое меню в моем приложении. Боковое меню работает правильно, но проблема в том, что у меня есть контроллер вкладок на экране контента. Боковое меню имеет вид таблицы с опциями навигации. На касание любых опций в боковом меню, я перенаправляю на viewcontrollers в других раскадровках. Я хочу, чтобы панель вкладок была видна после выбора любого параметра из Sidemenu.

Так я назначаю contentViewController и menuViewController в REFrostedViewController производном классе.

- (void)awakeFromNib {
self.contentViewController = [storyBoard instantiateViewControllerWithIdentifier:@"tabbarViewController"];
self.menuViewController = [storyBoard instantiateViewControllerWithIdentifier:@"menuViewController"];
}

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

Ниже приведен код контроллера Sidemenu

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    self.frostedViewController.contentViewController = anotherControllerNavVC;
 }

Я могу понять его, потому что класс Sidemenu не имеет экземпляра tabbar и вышеприведенная строка заменяет контроллер представления контента. Кто-нибудь знает, как добиться этого с REFrostedViewController.

Я пытался создать глобальный экземпляр контроллера Tabbar. Ниже мой код

     + (instancetype)sharedInstance {
          static TabController *tabbarVC = nil;
          static dispatch_once_t onceToken;
          dispatch_once(&onceToken, ^{
              tabbarVC = [[super alloc] init];
          });
       return tabbarVC;
      }

И в боковом меню

    TabController *tabClassObj = [TabController sharedInstance];
    [tabClassObj.selectedViewController pushViewController:newVC animated:YES];
...