Представляя UINavigationController несколько представлений в глубине, в качестве начального представления - PullRequest
0 голосов
/ 09 января 2011

В моем приложении я хотел бы иметь начальный экран, который позволяет пользователю подписаться на (веб-) сервис.Как только они это сделают, они автоматически войдут в систему. Эти экраны будут представлены как представления в UINavigationController, что-то вроде:

1.Opening view > 2.Sign up view > 3.Logging in view > 4.Logged in view

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

1 Ответ

1 голос
/ 09 января 2011

Буквальный ответ (на «как изменить начальный вид?») Будет изменить делегата приложения:

-(BOOL)application:(UIApplication *)application
       didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    if ( newuser )
    {
        [window addSubview:viewController1.view];
    } else {
        [window addSubview:viewController2.view];
    }
}

с двумя UINavigationControllers в вашем XIB-файле.Но это может показаться немного неортодоксальным и порождать другие проблемы.В противном случае, мгновенно вставьте в него весь стек viewcontroller, попросив ваши контроллеры view 1 и 2 немедленно выдвинуть следующие контроллеры без анимации.

Затем пользователь просто увидит «Просмотр входа в систему».Если вы решите разрешить пользователю выдвигать представления 4 и 3 из стека, появится viewcontroller 2.

Вы можете вытолкнуть весь стек, вызвав что-то вроде [self.navigationController popToRootViewControllerAnimated:NO]

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