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

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

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

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


person OMH    schedule 17.05.2013    source источник


Ответы (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;
}
person micantox    schedule 17.05.2013