iPhone didFinishLaunchingWithOptions Метод - PullRequest
2 голосов
/ 13 апреля 2011

Так что я пытаюсь использовать этот метод для загрузки определенной темы в зависимости от того, что пользователь выбрал в комплекте настроек.Когда я вставляю NSLog, он будет загружать их по умолчанию (Modern Theme), но он никогда не изменится на Pink Theme.

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

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

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{   
    NSDictionary *userDefaultsDefaults = [NSDictionary dictionaryWithObjectsAndKeys: @"Modern Theme", @"theme", nil];
    [[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsDefaults];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    theme =[defaults objectForKey:@"theme"];    

    NSLog(@"%@", theme);

    if ([theme isEqualToString:@"Modern Theme"]) {
        viewController = [[viewTwo alloc] initWithNibName:@"viewTwo" bundle:nil];
    }
    else {
        viewController = [[viewOne alloc] initWithNibName:@"viewOne" bundle:nil];
    }

    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];

    return YES;
}

Ответы [ 2 ]

4 голосов
/ 13 апреля 2011

Вы пытались вставить свой код в applicationDidBecomeActive:?Этот гарантированно будет вызван при первоначальном запуске или возобновлении работы в фоновом режиме.

Справочные документы .

0 голосов
/ 13 апреля 2011

Метод

- (void)applicationWillResignActive:(UIApplication *)application

запускается, когда приложение возобновляется из фона.

Я бы почти загрузил тему в ViewController

-(void)viewDidAppear:(BOOL)animated

способ.

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