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