Повторное представление модального вида приносит последний VC вместо первого - PullRequest
0 голосов
/ 12 сентября 2011

У меня есть Navigation Controller, который представлен модально с 4 представлениями в стеке. Окончательный вид имеет готовую кнопку, которая отклоняет модальный вид. Когда я снова представляю модальное представление, оно автоматически переходит к последнему, а не к первому. Я добавил строку «pop to to first view» после закрытия, но он добавляет странную анимацию, независимо от того, установил ли я «YES» или «NO». Может я не так делаю?

- (void)dismissModalView
{
    [self dismissModalViewControllerAnimated:YES];
    [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:([self.navigationController.viewControllers count] -4)] animated:YES];
}

Обновление:

Этот метод используется для представления модального представления / navcontroller

- (void)showModalView
{
    self.optionsNavController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self.navigationController presentModalViewController:self.optionsNavController animated:YES];
}

Ответы [ 3 ]

0 голосов
/ 12 сентября 2011

Извините, если я упрощаю вашу проблему, но если вам нужно вернуться прямо к первому контроллеру представления, возможно, вы могли бы попробовать метод popToRootViewControllerAnimated: вместо popToViewController:.

0 голосов
/ 12 сентября 2011

Я не уверен, в чем проблема с кодом отклонения, который вы опубликовали, но должно работать следующее:

- (void)showModalView
{
    self.optionsNavController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self.optionsNavController popToRootViewControllerAnimated:NO];
    [self.navigationController presentModalViewController:self.optionsNavController animated:YES];
}

Кроме того, viewDidLoad предназначен для вызова только один раз при каждом просмотрезагружен, viewWillAppear a

0 голосов
/ 12 сентября 2011

Нет, это выглядит правильно. Если вы хотите сохранить состояние контроллера навигации, то не представляйте его модально, так как он будет освобожден при отклонении представления.

Модальные представления обычно используются для представления информации, которую нужно только кратко показать без сохранения состояния представления (то есть о странице, странице входа, странице настроек и т. Д.).

...