2013-07-02 4 views
0

У меня есть основной вход VC, где пользователь может выбрать логин с facebook, зарегистрировать учетную запись или войти в свою созданную учетную запись. Если я нажму на регистрацию или логин, они перейдут от этого основного VC к соответствующему регистру VC или зарегистрируют VC, соответственно. Используется UINavigationController.Войти modal view troubles

Когда мое приложение запускается, сразу отображается экран входа в систему. Когда пользователь успешно войдет в систему (либо с помощью Facebook или учетной записи), он подталкивает элементы UITableViewController. Таким образом, логин не представляется модально. Я работаю с раскадными файлами, а в интерфейсе Builder мой корневой VC - это мой экран выбора входа.

Теперь вот что: я хотел бы сделать весь процесс входа в систему модальным, а не нажатием, когда логин будет завершен. Таким образом, приложение должно делать следующее:

a) пользователь открывает приложение, приложение проверяет, зарегистрирован ли пользователь. Если да, то в таблице текущих позиций VC.

b) если пользователь не вошел в систему, модно присутствовать на этом форуме и разрешить пользователю выбирать, с чего нужно входить.

c) пользователь входит в систему, а затем отклоняет VC по моделям (сдвиньте его вниз) и покажет таблицу элементов VC.

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

Когда пользователь выйдет из системы, я хотел бы сдвинуть экран входа в систему и после того, как он снова войдет в систему, вернитесь к таблице позиций VC (а не к настройкам VC, в котором находится моя кнопка выхода).

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

ответ

1

View Controller Programming Guide: Presenting View Controllers from Other View Controllers От:

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

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

Если пользователь вошел в систему, вы можете сохранить таблицу элементов VC там, а если он/она нет, вы можете представить логин входа в систему по умолчанию.

После этого вы можете просто следовать сценариям, описанным выше.