2014-02-05 1 views
0

Это мое первое приложение ios & У меня есть процесс регистрации пользователя, который разделяется на 3 экрана. На первом экране пользователь должен ввести свой номер мобильного телефона, второй экран просит его выбрать его местоположение. & Третий экран просит его ввести свой день рождения и несколько других деталей.Тип Segue, который будет использоваться для процесса регистрации пользователя - iOS 5

Итак, в общей сложности есть 3 контроллера, которые я использовал.

1) mobile_number_controller.rb 2) location_controller.rb 3) miscellaneous_details_controller.rb

Каждая деталь пользователь вводит проверяется и хранится в NSUserDefaults. Если проверка не выполняется, пользователю не разрешается перейти к следующему экрану. Кроме того, как только пользователь правильно вводит свои данные, пользователь не имеет кнопки возврата, чтобы вернуться к предыдущему экрану.

Я хотел бы знать, какой тип segue используется здесь. Должен ли я встраивать эти контроллеры в контроллер навигации и использовать push-сегу, или мне нужно использовать модальный переход?

Обновление относительно цепи контроллеров.

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

Кроме того, поскольку я упомянул, что я храню все данные, введенные пользователем в NSUserDefaults, нет необходимости, чтобы выдающий контроллер знал о данных, введенных в представленный контроллер. Поэтому я не чувствую необходимости в разматывании (например, в приложении «новые контакты»).

Любая помощь по этому вопросу была бы высоко оценена.

+0

+1 @herrm для использования контроллера навигации, imho он обеспечивает больше контроля с меньшим количеством шаблонов. кода по сравнению с модальным представлением каждого контроллера. И в вашем случае, если возвращение назад - это не вариант, просто удалите кнопку задней панели со всего элемента навигации. – BangOperator

ответ

2

Я бы использовал серию модальных сегментов (представленный контроллер вида). Это не «пользователь может идти вперед и назад среди просмотров»: вы полностью контролируете то, что видит пользователь. Совершенно законно представить контроллер представления поверх представленного контроллера представления. Кроме того, легко контролировать, насколько далеко вы берете пользователя, например. верните все пути (отклоняя все взгляды), если это то, что вы хотите сделать.

+0

Как и в случае с параллельным корпусом, у меня есть приложение с покупкой в ​​приложении и взаимодействие («вас интересует больше информации об этой покупке в приложении?» «Хорошо, вот информация: вы хотели бы купить? ") представляет собой последовательность представленных контроллеров представлений. – matt

+0

Я не собираюсь возвращать пользователя к любому контроллеру представления на любом этапе. Кроме того, я в большинстве кодексов, которые я прочитал до сих пор, видел, что представленный диспетчер был уволен, или theres unew segue, чтобы вернуться к представленному контроллеру. Я немного запутался в том, что делать с представленным контроллером здесь, прежде чем представлять следующий контроллер в серии? – Sunil

+0

Не могли бы вы уточнить? Как ты не можешь вернуться? Что делать, если пользователь хочет отменить регистрацию? И в какой-то момент вам нужно будет показать экран, который не является одним из экранов регистрации, не так ли? Ваш реальный, основной интерфейс? То, что я предлагаю, состоит в том, что все это представляет собой ряд представленных контроллеров представлений, и после того, как регистрация будет завершена, вы все их отбросите. Пользователь может не испытывать этого таким образом; это просто архитектура. – matt

3

Я бы предпочел, чтобы модальный segue представлял контроллер навигации и нажимал segues для подключения других контроллеров. Подобно webapps, пользователь может захотеть отступить, чтобы изменить ранее введенную информацию.