“L'Application a essayé de présenter modal d'un contrôleur actif” Erreur dans iOS5
J'ai une erreur qui est à l'origine de mon appli crash sous iOS5 uniquement sur l'iPad.
Le code ci-dessous est appelée lorsque l'utilisateur clique sur un élément dans un uibarbutton élément :
- (void)optionSelected:(NSString *)option {
[self.optionPickerPopover dismissPopoverAnimated:YES];
if ([option compare:@"Map View"] == NSOrderedSame) {
NSLog(@"Map View");
MapView * map = [[MapView alloc] initWithNibName:@"MapView" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:map];
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonItemStyleDone target:self action:@selector(removeCurrent)];
map.navigationItem.rightBarButtonItem = rightButton;
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[map release];
[rightButton release];
[split presentModalViewController:map animated:YES];
}
Quelqu'un peut-il suggérer pourquoi cela se produise dans iOS5 ?
OriginalL'auteur GuybrushThreepwood | 2011-10-27
Vous devez vous connecter pour publier un commentaire.
Vous obtenez cette erreur parce que vous tentez d'afficher la carte afficher le contrôleur à deux reprises. La première heure est à la racine de vue-contrôleur de 'navigationController" et la deuxième fois, c'est via
[split presentModalViewController:map animated:YES]
.iOS 5 est un peu plus pointilleux que iOS 4 lorsque vous essayez de faire des choses bizarres avec vue sur les contrôleurs. En essayant de montrer le même contrôleur deux fois, c'est un problème de conception -, vous devez savoir ce que vous êtes vraiment essayer de le faire et de le corriger.
(Aussi, appelant une vue de la carte contrôleur de 'MapView" plutôt que de "MapViewController' est vraiment déroutant)
OriginalL'auteur Robin Summerhill
Cette erreur se produit également si vous ne suivez pas ces consignes: La Création De Contenu Personnalisé En Vue De Contrôleurs
Fondamentalement, vous devez appeler:
si vous avez
Cette erreur peut souvent être couplé avec quelque chose à propos de "UIViewControllerHierarchyInconsistency"
OriginalL'auteur whyoz