iPhone - отклонение предыдущего ModalViewControllerAnimated: Да, затем появляется новый ModalViewControllerAnimated: Да - Неудача

StackOverflow https://stackoverflow.com/questions/4788131

Вопрос

У меня есть главное окно, которое вызывает модальный контроллер представления. Когда это сделано в этом модальном контроллере представления, он возвращается в главное окно, а затем отклоняет себя. Затем основные окна появляются новый контроллер модального представления с помощью animated = yes.

Проблема заключается в том, что вызов увольнения, который выполняется внутри первого ModalViewController, применяется к обоим, и SecondController никогда не показывается.

Размещать первое увольнение до или после того, как родительский вызов ничего не меняет. Если первое увольнение установлено, что Animate = Нет, все работает нормально. Но мне нужна анимация.

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];
}

Что я могу сделать? Я не хочу ничего поймать в поле зрения .... ошибка ...

Почему увольняющие колиды, как они не называются из того же навигационного контроллера?

Это было полезно?

Решение

Причина, вероятно, является анимацией, когда вы уволите ее. Попробуйте показать второе модальное окно, используя performSelector:withObject:afterDelay:, метод, унаследованный от NSObject. Анкет Ссылка здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top