0

皆さん、テーマを設定して、設定アプリ (設定バンドル) から選択できるようにしようとしています。テーマを使用して複数値を設定しています。私の問題は、設定アプリに移動してテーマを変更し、アプリケーションに戻ると、最初は「テーマ」が適用されず、マルチタスク バーを開いたり閉じたりした後にのみ適用されることです。これが私が扱っているものです:

- (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;
    }    
}

また、テーマ用に 2 つの個別の NIB ファイルが必要であることもわかっていますが、ランダムな Web ページをロードするビューがあり、それを失いたくありません (アプリを閉じる前に保存することはできますが)。2 つの個別の NIB ではありませんが、これは機能しますか?それともアプリケーションの速度が低下しますか? テーマごとに複数の NIB を作成する必要がありますか?

ご意見ありがとうございます。

4

1 に答える 1

0

質問に対する答えが見つかりました。アクティブになったら強制的に同期してください。

于 2011-08-16T18:39:48.333 に答える