iPhone - загрузка настроек из пакета настроек будет обновляться только после того, как панель многозадачности будет показана / отклонена - PullRequest
0 голосов
/ 25 апреля 2011

Привет, ребята, я пытаюсь настроить тему и выбрать ее через приложение «Настройки» (комплект настроек).У меня есть многозначный набор тем.Моя проблема в том, что когда я захожу в приложение настроек, меняю тему и возвращаюсь в приложение, «тема» сначала не применяется, она будет применяться только после того, как я открою / закрою панель многозадачности.Вот то, с чем я имею дело:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    defaults = [NSUserDefaults standardUserDefaults]; 
    if (![defaults objectForKey:@"UILayout"]) {
        [defaults setObject:@"Bar_Top" forKey:@"UILayout"];
    }
    [defaults synchronize];
    // Override point for customization after application launch.
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}


- (void)applicationDidBecomeActive:(UIApplication *)application
{
    layout = [defaults valueForKey:@"UILayout"];
    if ([layout isEqualToString:@"Bar_Top"]) {
        NSLog(@"Bar_Top");
        self.viewController.menu.hidden = YES;
        self.viewController.targetOnWebPage.hidden = NO;
        self.viewController.timer.hidden = NO;
        self.viewController.label.frame = CGRectMake(48, 0, 230, 15);
        self.viewController.label.hidden = NO;
    } else if ([layout isEqualToString:@"Bar_Bottom"]) {
        NSLog(@"Bar_Bottom");
        self.viewController.menu.hidden = YES;
        self.viewController.targetOnWebPage.hidden = NO;
        self.viewController.timer.hidden = NO;
        self.viewController.label.frame = CGRectMake(48, 100, 230, 15);
        self.viewController.label.hidden = NO;
    } else if ([layout isEqualToString:@"Menu_Button"]) {
        NSLog(@"Menu_Button");
        self.viewController.menu.hidden = NO;
        self.viewController.targetOnWebPage.hidden = YES;
        self.viewController.timer.hidden = YES;
        self.viewController.label.hidden = YES;
    }    
}

Я также знаю, что у меня должны быть только два отдельных файла NIB для тем. Однако у меня есть представление, загружающее случайную веб-страницу, и я не хочупотерять его (хотя я мог бы просто сохранить его до закрытия приложения).Даже если это не два отдельных NIB, это сработает или замедлит работу моего приложения?Стоит ли мне создавать несколько NIB для каждой темы?

Спасибо за ваш вклад!

1 Ответ

0 голосов
/ 16 августа 2011

Только что нашли ответ на свой вопрос, включите синхронизацию, когда станете активными!

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