Я всегда кодировал эти «используемые в первый раз» контроллеры вида для запуска с главного контроллера навигации, который обозначен как контроллер вида запуска. Когда основной контроллер создается, он проверяет наличие флага, чтобы увидеть, является ли это первый раз, и если это так, то переходить к первому используемому контроллеру представления. Обычно это происходит так быстро, что сначала вы не видите главный контроллер. В конце первого использования логики, нажатие кнопки «Готово» просто возвращает его родительскому навигационному контроллеру, который затем устанавливает первый флаг времени в «ложь».