2010-02-14 5 views
0

mon application ressemble à cecipousser plusieurs vues de TableView à Tableview

UINavigationController avec UITableViewcontroller comme RootViewController.

feedsTableViewController = [[ablogFeedsTableViewController alloc] initWithStyle:UITableViewStylePlain]; 
feedsNavigationController = [[UINavigationController alloc] initWithRootViewController:feedsTableViewController]; 
feedsNavigationController.delegate = feedsTableViewController; 

dans ma méthode de viewcontroller didSelectRowAtIndexPath im appeler un autre contrôleur tableview comme ceci:

ablogSingleCatTableViewController *singleCatTableViewController = [[ablogSingleCatTableViewController alloc] initWithStyle:UITableViewStylePlain category:[categories objectAtIndex:indexPath.row]]; 
[[self navigationController] pushViewController:singleCatTableViewController animated:YES]; 
[singleCatTableViewController release]; 

cela fonctionne très bien.

maintenant dans ce UITableView poussé je tente de pousser un UIView, mais cela ne fonctionne pas.

postView = [[ablogPostView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; 
[[self navigationController] pushViewController:postView animated:YES]; 
[postView release]; 

Je pense que le problème est à [auto NavigationController] parce que le délégué de ce NavigationController est dans mon autre UITableViewController.

anybode peut m'aider, comment résoudre ce problème?

Répondre

1

Vous ne devez pas appuyer plusieurs viewControllers avec une animation. Seule la dernière poussée devrait être animée.

En outre: il semble que vous essayez de pousser une sous-classe UIView sur le contrôleur de navigation. Cela ne fonctionnera pas et vous devriez avoir vu un avertissement. Vous pouvez uniquement pousser ViewControllers sur la pile.

+0

ah d'accord. J'ai vraiment créé un uiView au lieu d'un UIViewController. J'ai toujours des problèmes avec la différence de ViewController et View. Pourquoi ne devrais-je pas animer le dernier? – choise

+0

Cela devrait être une nouvelle question. Mais une vue est un objet qui décrit la présentation, mais n'a aucune idée de la façon de se déplacer sur un contrôleur de navigation. –

+0

Si vous appuyez sur deux viewControllers avec une animation, le navigationController désactive l'animation et les titres et vous obtiendrez des effets bizarres en essayant de revenir en arrière. – FelixLam