iPhone - Rejetant précédent ModalViewController d'animation: OUI popping puis une nouvelle animation ModalViewController: OUI - échec
-
24-10-2019 - |
Question
J'ai une fenêtre principale qui apparaît un contrôleur de vue modal. Lorsque vous avez terminé dans ce contrôleur modal de la vue, il retourne à la fenêtre principale se rejette alors. Ensuite, les fenêtres principales pops un nouveau contrôleur de vue Modal avec animation = OUI.
Le problème est que l'appel rejette ce qui se fait à l'intérieur de la première modalviewcontroller applique à la fois et SecondController est jamais montré.
Mettre la première destitués avant ou après l'appel parent ne change rien. Si le premier est fixé wih irrecevabilité Animer = NO, tout fonctionne bien. Mais je dois l'animation.
main.m
- (void) entry {
FirstController *nextWindow = [[FirstController alloc] initWithNibName:@"theNIB" bundle:nil];
nextWindow.caller = self;
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:nextWindow];
[self.navigationController presentModalViewController:navController animated:YES];
[nextWindow release];
[navController release];
}
- (void) thingsDoneInFirstModalController:(OBJECT)returnValue retval2:(OBJECT2)returnValue2 {
[self display2ndController];
}
- (void) display2ndController {
SecondController *nextWindow;
nextWindow = [[SecondController alloc] initWithNibName:@"NIB2" bundle:nil];
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:nextWindow];
[self.navigationController presentModalViewController:navController animated:YES];
[navController release];
[nextWindow release];
}
1er ModalViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.navigationController dismissModalViewControllerAnimated:YES];
[self.caller thingsDoneInFirstModalController:theResult retval2:someMoreResult];
}
Que puis-je faire? Je ne veux pas quoi que ce soit des captures par .... disparaitra ...
Pourquoi le rejeter colides comme ils ne sont pas appelés à partir du même contrôleur de navigation?