PushViewController не работает при вызове из App Delegate - PullRequest
3 голосов
/ 03 января 2012

У меня есть приложение на основе панели вкладок.Когда приложение станет активным, я хочу, чтобы оно перешло на вторую панель вкладок (SecondViewController) и затем открыло DetailViewController.

Вот как я это делаю:

AppDelegate.m

- (void)applicationDidBecomeActive:(UIApplication *)application {
    self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:1];

    SecondViewController *secondView = [[SecondViewController alloc] init];
    [secondView openDetailView];
    [secondView release];

}

SecondViewController.m

-(void)openDetailView{
     NSLog(@"open detail view");

     DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
            [[self navigationController] pushViewController:detailViewController animated:YES];
}

openDetailView () работает (как я вижу, работает nslog), но DetailView не выдвигается?Я знаю, что код работает, потому что у меня есть идентичный код в IBAction, который толкает detailView.Проблема связана с тем, что он вызывается из AppDelegate (или переключается между вкладками).

Так почему же представление не выдвигается, когда я вызываю его из App Delegate?Любая помощь очень ценится.

1 Ответ

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

Вы переводите detailViewController в стек навигации второго просмотра, но второго просмотра нет.

Попробуйте это ...

SecondViewController *secondView ...

[self.tabBarController pushViewController:secondView animated:YES];  <==

[secondView openDetailView];
...