2010-10-04 7 views
0

J'ai un contrôleur de vue comme contacts dans l'iPhone. Le code est quelque chose comme ça,Utilisation d'un contrôleur de vue à la fois comme contrôleur de vue modale et comme contrôleur de vue de barre d'onglet

tabBarController = [[UITabBarController alloc] init]; 
friendsVC = [[RemittanceFriendsVC alloc] initWithNibName:@"RemittanceFriendsView" bundle:nil]; 
friendsVC.friendsArray = [[RemittanceModel getInstance] friends]; 
UINavigationController *friendsNVC = [[UINavigationController alloc] initWithRootViewController: friendsVC]; 
[controllers addObject:friendsNVC]; 
tabBarController.viewControllers = controllers; 

Le RemittanceFriendsVC est UITableViewController, en cliquant sur une cellule prend pour voir les détails. J'ai variable 'modale' définie dans le ViewController (VC) pour savoir si elle est chargée comme modale ou non. Depuis sa partie d'un élément de barre d'onglets, (vue non modale) cela fonctionne bien. Mais quand je le charge comme VC modal, quand je clique sur une cellule de table, je veux rejeter la vue modale, mais elle n'a pas rejeté la vue modale.

Dans le friendVC cela ne fonctionne pas,

-(void) didPressCancelButton { 
     [self.navigationController dismissModalViewControllerAnimated:YES]; 
} 

Ce que je voulais faire est, utiliser le même VC comme un élément de barre d'onglets et parfois en tant que VC modale. N'est-ce pas possible?

Répondre

0

bien, il était le problème avec le

[self.navigationController dismissModalViewControllerAnimated:YES]; 

il devrait être,

[self dismissModalViewControllerAnimated:YES]; 

Ensuite, il fonctionne très bien.

Questions connexes