Определенный поток в представлении навигации контроллера - PullRequest
1 голос
/ 25 июля 2011

У меня есть 4 разных вида (a, b, c, d).Пользователь может перейти от:

a->b,
b->c ,b->d 
c->b ,b->d 
d-> c, d->b

Чтобы загрузить новый вид, я использую push-представление navitaion controller.Мой вопрос, что является лучшим решением для обработки кнопки «назад», чтобы она всегда работала так:

d->c
c->b
b->a

независимо от всех предыдущих нажатий контроллера.

Другими словами, пользователь делает следующую последовательность переходов: (т.е. .a-> b-> c-> b-> c-> d-> c), но когда он нажимает кнопку возврата, я хочу егочтобы увидеть экран B, ранее не нажимаемый D.

Я знаю, как решить эту проблему безобразно, но я ожидаю чего-то более элегантного.

1 Ответ

1 голос
/ 25 июля 2011

UINavigationController поддерживает возврат к определенному контроллеру представления с помощью popToViewController: анимированный метод ...

Выдает контроллеры представления, пока указанный контроллер представления не окажется на вершине стека навигации.

  • (NSArray *) popToViewController: (UIViewController *) viewController animated: (BOOL) animated

Официальные документы Apple

Однако я бы порекомендовал переосмыслить вашу навигационную иерархию.Рекомендации Apple Human Interface рекомендуют следовать структурированной и последовательной схеме навигации.Переход между контроллерами может сбить пользователя с толку.

...