2010-03-31 6 views
1

J'ai un rootViewController qui, à un moment donné, affiche un peoplePickerNavigationController. Je suis en train de pousser un second contrôleur de vue lorsque mon utilisateur sélectionne une propriété de contact spécifique, comme ceci:Puis-je pousser un contrôleur de vue modal depuis un autre contrôleur de vue modale?

-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)picker shouldContinueAfterSelectingPerson:(ABPersonRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier { 
RuleBuilder *ruleBuilder = [[RuleBuilder alloc] initWithNibName:@"RuleBuilder" bundle:nil]; 
[self pushModalViewController:ruleBuilder animated:YES]; 
[ruleBuilder release]; 
return NO; 
} 

Cette compile très bien, mais quand je lance le code dans le simulateur et courir à travers le Peoplepicker, rien se produit lorsque je sélectionne une propriété de contact. Sur un coup de tête, j'ai ajouté un [self dismissModalViewControllerAnimated: YES]; juste avant [version de ruleBuilder]; et cela supprime le fichier peoplePicker, mais n'a aucun effet sur mon RuleBuilder manquant.

Des idées?

Répondre

0

trouvé la solution:

[picker pushModalViewController:ruleBuilder animated:YES]; 
+1

Merci pour l'info. Malheureusement, cela ne fonctionne pas si l'écran sur lequel vous vous trouvez n'a pas de contrôleur de navigation. PresentModalViewController ne le fait pas; il n'en montre qu'un. – Oscar

+0

Oscar a raison, cela ne devrait pas être considéré comme la bonne réponse jusqu'à ce qu'il soit mis à jour. – twerdster

+0

Si l'écran sur lequel vous êtes n'a pas de contrôleur de navigation, créez-en un avec ** ruleBuilder ** comme contrôleur racine. Présentez ensuite le NavConttroller. – surfasb

Questions connexes