Как мне получить экран входа в приложение для iPhone (используя tabBarController)? - PullRequest
0 голосов
/ 03 марта 2010

Я занимаюсь разработкой веб-приложения (с использованием рельсов), которое запустю в течение недели. Я «подскочил» и начал работать над приложением для сайта для iPhone (я новичок в разработке для iPhone). Используя peepcode iPhone и демонстрационное приложение расхода / бюджета от clarkware, я смог добиться успеха (используя ObjectiveResource для связи между iPhone и Rails). Таким образом, я могу получить tabBarController, загружающий таблицу с тестовыми данными, заполненными с моего промежуточного сервера онлайн. Отлично.

Моя проблема заключается в том, что мне нужно войти в систему. Демо-приложение бюджетов имеет это прибито, но оно использует навигационный контроллер. Я хотел бы использовать tabBarController (который я использую в настоящее время) для обработки основных функций приложения.

Вот как я вижу функционал входа в приложение после завершения:

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

Самое близкое, что я имею в виду для этого процесса, - это приложение Gowalla.

Итак, я предполагаю, что мой вопрос: каков наилучший способ отображения экрана входа в систему при использовании tabBarController? Как только я смогу сделать это и получить аутентификацию, все остальное должно встать на свои места.

Пожалуйста, дайте мне знать, если есть что-то, что мне нужно уточнить - СПАСИБО!

-Tony

Ответы [ 2 ]

0 голосов
/ 09 марта 2010

Я новичок в программировании для iPhone, но уже давно занимался кодированием на C ++.До сих пор я создавал все программно, а не с использованием подхода nib.

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

Итак, appDelegate -> Главный контроллер вида ->Представление входа в систему

                               -> Tab View Controller + View Controllers

Надеюсь, это поможет?!

Мэтью.

0 голосов
/ 03 марта 2010

Хотите, чтобы панель вкладок отображалась внизу? Затем просто поместите контроллер представления входа в качестве выбранной вкладки, установив свойства selectedViewController или selectedIndex для UITabBarController.

Хотите, чтобы панель вкладок отображалась внизу, но не была активной, пока они не вошли в систему? Затем установите UITabBarDelegate и переопределите tabBarController: shouldSelectViewController: метод, чтобы запретить до входа в систему.

Вы не хотите, чтобы панель вкладок отображалась до тех пор, пока не будет введен логин (лично я думаю, что это наиболее желательно)? Тогда либо не показывайте TabBarController до тех пор, пока вы не будете готовы, вместо этого покажите контроллер вида входа в систему ... или, альтернативно, покажите контроллер входа в качестве контроллера модального представления поверх TabBarController и не разрешайте его отклонять до входа был успешным.

...