Segue называется, но не уволен - PullRequest
0 голосов
/ 11 января 2012

Я впервые использую раскадровку и у меня возникла проблема с segue. Моя раскадровка выглядит следующим образом:

                                           __ ViewController
                                          /
                       __ TabBarController
                      /                   \__ ViewController
                     /
 -> TableViewController
                     \
                      \__ NavigationController ___ ViewController

Я создаю 2 segue, один для TabBarController и один для NavigationController с идентификаторами «AddServer»(для NavigationController) и "GoMainBoard" (для TabBarController).Из моего TableViewController с пользовательским тестом я запускаю TabBarController или NavigationController с этим кодом

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
        [_tbvDownloads deselectRowAtIndexPath:indexPath animated:YES]; 

        if (indexPath.row == [tableView numberOfRowsInSection:0]-1) {
            [self performSegueWithIdentifier:@"AddServer" sender:self];
        } else {
            ...
                [self performSegueWithIdentifier:@"GoMainBoard" sender:self];
            ...
        }
    }

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"AddServer"])
    {
        UINavigationController *navigationController = segue.destinationViewController;
        ...
    }
    if ([segue.identifier isEqualToString:@"GoMainBoard"])
    {
        UITabBarController *tabBar = (UITabBarController *)segue.destinationViewController;
    }
}
  • (void) вызывается prepareForSegue, но мой TabBarController не запускается, может кто-нибудь объяснить мне, где я допустил ошибку??спасибо

1 Ответ

0 голосов
/ 28 мая 2012

Очевидно, что push segue работает только внутри контроллера навигации.В других случаях вам придется использовать вместо этого «модальный» тип.Надеюсь, что ответ на ваш вопрос:)

См. Также: segue не работает в простом тесте segue

...