2013-08-06 5 views
0

Я работаю над приложением iPhone, чья основная навигация происходит через панель вкладок. Тем не менее, он открывается с приветственным экраном, который не показывает панель вкладок, а имеет две кнопки для перехода к двум наиболее распространенным вкладкам. Один идет на первую вкладку, поэтому в моем раскадровке я добавил segue в основной контроллер панели вкладок. Это отлично работает.Модальный переход для отображения панели вкладок?

Но вторая кнопка переходит на третью вкладку, поэтому я добавил сегу прямо на этот экран в своем раскадровке. Это приводит к тому, что панель вкладок не отображается. Все мои исследования в этом были запутаны десятками людей, которые хотят сохранить панель вкладок, а не создавать ее, так что я немного потерял, что делать. Благодаря!

ответ

1

Для второй кнопки, вы также должны непосредственно перейти к вашему tabBarViewController и вызвать

[self setSelectedIndex:2]; // If you want to show the third tab 

в методе viewWillApear в вашем tabBarViewController

Если вы используете раскадровки SEGUE, добавить этот метод в первом View Контроллер

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
    if ([[segue identifier] isEqualToString:@"yourSegueName"]) 
    { 
     MyTabBarVC *destinationVC = segue.destinationViewController; 
     destinationVC.selectedIndex = myIndex; 
     // myIndex's value depends on which button you pressed 
    } 
} 
+0

Не будет ли причиной выбора третьей закладки для первой кнопки? Как я могу различать вызов 'viewWillAppear' от первой кнопки и от второй? – tsm

+0

Да, извините. Вы можете добавить свойство, чтобы указать, к какому индексу вы хотите перейти в своем таблоконтроллере – Ray

+0

См. Отредактированную версию – Ray

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