Я пытаюсь изменить свой mainView своего приложения на основе состояния тумблера в settings.bundle. По умолчанию я хочу установить значение NO, которое я установил. Но, похоже, я что-то упустил, единственный способ изменить представление с помощью моего кода - изменить значение по умолчанию. Я делаю это в файле delegate.m в applicationDidFinishLaunchingWithOptions. Пожалуйста, любая помощь будет здорово!
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//Registers the defaults.
NSUserDefaults *metricDefaults = [NSUserDefaults standardUserDefaults];
[metricDefaults registerDefaults:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:@"metric_preferences"]];
BOOL metricDisabled = [metricDefaults boolForKey:@"metric_preference"];
[metricDefaults synchronize];
//Change MainView based on Metric setting.
if (metricDisabled) {
//Standard View.
MainViewController *aController = [[MainViewController alloc] initWithNibName:@"MainView" bundle:nil];
self.mainViewController = aController;
[aController release];
mainViewController.view.frame = [UIScreen mainScreen].applicationFrame;
[window addSubview:[mainViewController view]];
[window makeKeyAndVisible];
return YES;
} else {
//Metric View.
MainViewController *aController = [[MainViewController alloc] initWithNibName:@"MainViewMetric" bundle:nil];
self.mainViewController = aController;
[aController release];
mainViewController.view.frame = [UIScreen mainScreen].applicationFrame;
[window addSubview:[mainViewController view]];
[window makeKeyAndVisible];
return YES;
}
}
[metricDefaults setBool:NO forKey:@"metric_preference"];
, если вы хотите проверить состояние тумблера? избавься от него и беги снова. - person CodaFi   schedule 29.05.2012