Раскадровка - переключение вкладок при нажатии

Я разрабатываю приложение в iOs6, в котором я использую раскадровки. У меня есть контроллер, который имеет две кнопки. Когда я нажимаю на первую кнопку, я запускаю контроллер панели вкладок, у которого 1-я вкладка является вкладкой по умолчанию (я не установил ее в качестве вкладки по умолчанию, все это делается фреймворком).

Теперь, по нажатию 2-й кнопки контроллера, я хочу запустить ту же панель вкладок, которую я запускал ранее, но для ее вкладки по умолчанию установлено значение tab2.

Я попытался использовать метод setSelectedIndex контроллера панели вкладок, попытался установить идентификатор для нужной вкладки и запустить соответствующий переход. Но бесполезно.

1 ответ

Решение

Чтобы добиться этого, нужно иметь два перехода от двух кнопок, каждая из которых указывает на контроллер панели вкладок. Затем вы устанавливаете два разных идентификатора для двух сегментов, таких как "tab1" и "tab2", а затем реализуете метод prepareForSegue в контроллере базового представления следующим образом:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"tab1"])
        ((UITabBarController*)segue.destinationViewController).selectedIndex = 0;
    else if ([segue.identifier isEqualToString:@"tab2"])
        ((UITabBarController*)segue.destinationViewController).selectedIndex = 1;
}
Другие вопросы по тегам