2016-08-18 6 views
0

Что такое стратегия & API, который мы можем использовать для нажатия на viewController после следующего, сохраняя при этом иерархию представления?Как нажать viewController после следующего, связанного в раскадровке

Так, например, когда состояние rootViewController является одним из способов, я хочу показать список коллекций. Когда состояние rootViewController - это еще один способ, я хочу показать детали одной из этих коллекций и сохранить иерархию навигации, чтобы мы могли вернуть один уровень обратно в коллекцию и снова добавить к rootViewController.

Возможным решением было бы проверить состояние rootViewController в middleVC и заставить middleViewController решить, нужно ли нажать 3-й ViewController. Я не поклонник этой идеи, потому что логика, которая принадлежит rootViewController, теперь находится в middleVC, и это похоже на нарушение инкапсуляции. Это?

Спасибо за совет.

+0

Существует несколько способов достижения этого. Я бы экспериментировал со случайными способами, пока вы не отреагировали так, как вы этого хотите, и используйте это. Когда вы начинаете создавать приложения более высокого уровня, много раз этот подход работает лучше всего, если вы понимаете присущие ему сильные и слабые стороны, которые могли бы создать что-то по-своему. – Sethmr

ответ

0

Как я могу предложить вам, чтобы продвинуть Ваш третий контроллер представления, как обычно, нанесенные вы [navigationController viewControllers] в NSArray затем вставить второй ViewController с индексом 1

Так вы на RootViewController Controller1 индекс 0

вы нажимаете нужный ViewController Controller3 индекс 1

затем вставить Controller2 по индексу 1, так что ваш Контроллер3 стал индексом 2.

+1

Это совсем другая идея. Кажется опасным, потому что вы будете жонглировать содержимым массива, и я не уверен, насколько понравится раскадровка. – Aaronium112

Смежные вопросы