Условный вид запуска приложения - PullRequest
1 голос
/ 10 июня 2009

Мое приложение управляется UITabBarController, встроенным с UINavigationController для каждого отдельного представления в каждой активной вкладке.

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

Какой хороший шаблон для этого?

Ответы [ 2 ]

1 голос
/ 10 июня 2009

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

В вашем AppDelegate, прежде чем создавать экземпляр UINavigationController, проверьте переменную настроек. Если его там нет, откройте окно настроек. По завершении удалите представление настроек и возобновите нормальный код:

BOOL settingsDone = [[NSUserDefaults standardUserDefaults] boolForKey:@"settingsComplete"];

if (settingsDone){
    SettingsView *mySettingsView = [[SettingsView alloc] init];
    [self.window addSubView:mySettingsView.view];
}

//Set up navigationcontroller here

-(void)settingsDone{
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"settingsComplete"];
    for (UIView *view in self.window.subviews){
        [view removeFromSuperView];
    }
}

Просто подключите готовую кнопку в вашем представлении настроек до метода settingsDone.

1 голос
/ 10 июня 2009

Создание параметра конфигурации, который пользователь не может изменить. Назовите это «FirstRun» или что-то подобное. Установите по умолчанию значение true. Когда пользователь устанавливает свои настройки в первый раз, установите для него значение false.

В своем коде запуска проверьте настройки и, если это правда, покажите страницу начальной настройки.

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