У меня возникают проблемы с доступом к контроллерам моего представления под контроллером панели вкладок. Вот что моя раскадровки выглядит следующим образом:Как получить доступ к контроллеру табуляции из другого контроллера просмотра
- View Controller A (-> Page View Controller -> View Controller C
- View Controller A -> Tab Bar Controller (MyTabBarController.h/.м) -> Навигация контроллер (MyNavigationController.h/.м) -> View Controller B (TabViewController.h/.м)
- Tab Bar Controller (MyTabBarController.h/.м) -> View Controller D
- Tab Bar Controller (MyTabBarController. ч /. м) -> Просмотр контроллера E
С View Controller А у меня есть IBAction называется loginButton, который подключен к контроллеру Tab Bar, и в настоящее время выглядит следующим образом:
- (IBAction)loginButton:(id)sender {
MyNavigationController *localNavigationController;
UIStoryboard * storyboard = self.storyboard;
MyTabBarController *tbc = [[MyTabBarController alloc] init];
NSMutableArray *localControllersArray = [[NSMutableArray alloc] initWithCapacity:1];
TabViewController *login = [storyboard instantiateViewControllerWithIdentifier: @ "TabViewController"];
localNavigationController = [[UINavigationController alloc] initWithRootViewController:login];
localNavigationController.delegate = self;
[localControllersArray addObject:localNavigationController];
tbc.viewControllers = localControllersArray;
tbc.delegate = self;
tbc.moreNavigationController.delegate = self;
tbc.selectedIndex = 0;
[self presentViewController:tbc animated:YES completion:^{
}];
}
Я не в состоянии получить это отображается правильно. Я получаю кучу предупреждений в этом фрагменте кода. и он также не показывает различные элементы табуляции в нижней части панели вкладок, даже если я поместил изображения/текст на каждую вкладку.
Как я могу правильно отобразить/получить доступ к контроллерам представлений внутри контроллера панели вкладок? (т.е. View Controllers C/D/E)?
Это действительно неясно, что вы пытаетесь сделать. Если вы используете раскадровку, и в ней есть эти различные контроллеры, то почему вы создаете экземпляр контроллера панели вкладок и контроллера навигации в коде? Вы должны иметь возможность создать все это в раскадровке. Было бы полезно, если бы вы могли разместить изображение своей раскадровки.Кроме того, это один из контроллеров, A, B, C или D, то же самое, что и «login» – rdelmar
@rdelmar. Я новичок в этом, и я пытаюсь понять, как работают разные контроллеры представлений. Я написал код, потому что не мог вызвать экран под панелью вкладок. Без создания экземпляра контроллера панели/контроллера навигации/контроллера табуляции ничего не было показано. Я мог бы просто пропустить контроллер панели вкладок и контроллер навигации и просто открыть последний контроллер представлений (C), но я действительно хотел бы понять, как вызывать эти контроллеры от первого контроллера, который является контроллером представления. –