iPhone dev - навигационное приложение с загрузочным экраном? - PullRequest
0 голосов
/ 13 июля 2011

Я создаю навигационное приложение, которое я хочу запустить с экрана, который позволяет пользователю вводить имя пользователя / пароль, прежде чем перейти к обычной иерархии навигации по представлениям.Я пытаюсь придумать лучший способ сделать это.Должен ли я создать новый viewController для экрана входа в систему и начать с него, а затем использовать presentModalViewController для перехода к RootViewController в иерархии навигации?Или было бы лучше начать с RootViewController (tableViewController) и сразу выдвинуть представление входа в систему на экран, а затем выдвинуть его, если они введут правильное сочетание имени пользователя / pw?Мне также любопытно, КАК вы могли бы запустить свое приложение с представлением, отличным от RootViewController, потому что сейчас это всегда первый, который появляется.Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 июля 2011

Ваш класс ApplicationDelegate указывает, какой контроллер будет служить корневым контроллером для приложения.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window.rootViewController = self.navigationController;
    ...
}

В этом примере экземпляр UINavigationController устанавливается в качестве корневого контроллера представления после того, как приложение завершило запуск (например, все ресурсы загружены и переход сделан из образа-заставки).

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

Чтобы ответить на ваш вопрос о дизайне, это зависит от желаемого рабочего процесса. Исходя из того, что вы описали, я бы начал с контроллера представления barebones, который загружает представление / контроллер входа в систему. После аутентификации пользователя этот контроллер представления может переключиться в основное представление приложения. С таким дизайном вы можете легко переключиться обратно на LoginViewController, если вам нужно повторно аутентифицировать пользователя в любой момент.

ApplicationViewController (root)
- LoginViewController
- MainViewController (это может быть UINavigationController или любой другой, какой вам нужен)

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

0 голосов
/ 13 июля 2011

Если пользователь приостанавливает / возобновляет работу вашего приложения или блокирует / разблокирует телефон, вы собираетесь заставить его снова войти в систему?Если это так, то я бы выбрал ваш второй вариант, толкая LoginView над NavigationView.В противном случае, я думаю, что начинать с LoginView и заменять его NavigationView - это нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...