0

スタックをrootviewcontrollerにポップした後でのみ、新しいViewControllerをナビゲーションスタックにプッシュしようとしています

//Select the tab I want to go to
self.tabBarController.selectedIndex = FEEDPAGE_INDEX;

//Retrieve the navcon in the feed page
UINavigationController *navcon = (UINavigationController*)[self.tabBarController.viewControllers objectAtIndex:FEEDTAB_INDEX];

//Pop to root view controller here
[navcon popToRootViewControllerAnimated:YES];

//Push a new root view controller onto stack
QuestionAnswerViewController *x = [[QuestionAnswerViewController alloc]init];
[navcon pushViewController:x animated:YES];

プッシュが機能しませんでした。つまり、新しいページが表示されませんでした。popToRootViewControllerがこれを引き起こしているように見えました(正確にはわかりません)。ポップして新しいページをプッシュする方法についてアドバイスはありますか?

4

1 に答える 1

2
QuestionAnswerViewController *x = [[QuestionAnswerViewController alloc]init];
UINavigationController *navcon = (UINavigationController*)[self.tabBarController.viewControllers objectAtIndex:FEEDTAB_INDEX];
NSArray *arr = [navcon viewControllers];
NSArray *newStack = [NSArray arrayWithObjects:[arr objectAtIndex:0], x, nil];
[navcon setViewControllers:newStack];
于 2011-10-03T05:29:12.347 に答える