У меня есть главное окно, в котором появляется модальный контроллер вида. Когда это сделано в этом контроллере модального представления, оно возвращается в главное окно, а затем закрывается.
Затем в главном окне появляется новый модальный контроллер вида с анимированным = YES.
Проблема в том, что вызов dismiss, который выполняется внутри первого modalviewcontroller, применяется к обоим, а SecondController никогда не отображается.
Помещение первого отклонения до или после родительского вызова ничего не меняет.
Если первое отклонение установлено с помощью animate = NO, все работает нормально. Но мне нужна анимация.
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];
}
1-й ModalViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.navigationController dismissModalViewControllerAnimated:YES];
[self.caller thingsDoneInFirstModalController:theResult retval2:someMoreResult];
}
Что я могу сделать?
Я не хочу ничего видеть ... Исчезнуть ...
Почему происходит сброс коллидов, поскольку они не вызываются из одного и того же контроллера навигации?