Я использую 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];