Ответ 1
Создайте изменяемый контейнер, и когда вы покажете первое представление, создайте два viewController, которые понадобятся, если пользовательские страницы, если у вас есть объект viewController, спросите его о своем представлении (чтобы он мог загрузить nib и вызвать контроллер "viewDidLoad:". Вам нужно выяснить систему определения элементов управления viewControlers, чтобы вы могли получить требуемый viewController). Вы могли бы сделать тяжелую работу здесь в блоке на dispatch_queue.
С этого момента, когда пользовательские страницы, вы смотрите сначала в контейнере для viewController, а если не нашли, вы должны сделать это в режиме реального времени.
Вероятно, вы захотите использовать dispatch_group, чтобы вы могли дождаться, когда отложенные блоки закончатся перед поиском.
Каждый раз, когда пользовательские страницы, вы посмотрите и посмотрите, находятся ли страницы, окружающие эту страницу, в контейнере или нет. Вы также можете предварительно получить больше viewControllers - как две перемотки вперед на две страницы на каждой странице.