gpt4 book ai didi

iphone - 根据 Setting.bundle 切换开关状态更改应用程序的 MainView?

转载 作者:行者123 更新时间:2023-11-29 11:12:48 24 4
gpt4 key购买 nike

我正在尝试根据 setting.bundle 中的切换开关状态更改我的应用程序的 mainView。我想要的默认设置为 NO,我已经设置了。但似乎我遗漏了一些东西,我似乎可以通过我的代码更改 View 的唯一方法是更改​​默认值。我在 applicationDidFinishLaunchingWithOptions 的 delegate.m 文件中执行此操作。请提供任何帮助!

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

}

最佳答案

您需要使用 registerDefaults: 将此键的默认值设置为 NO。如果用户从未设置过,这会为用户默认值提供一个值,但不会影响用户更改后的值。按照您的操作方式,始终将用户默认值设置为 NO。

编辑后:

这是你这样做的方式:

NSUserDefaults *metricDefaults = [NSUserDefaults standardUserDefaults];
[metricDefaults registerDefaults:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:@"metric_preferences"]];
BOOL metricDisabled = [metricDefaults boolForKey:@"metric_preference"];
[metricDefaults synchronize];

关于iphone - 根据 Setting.bundle 切换开关状态更改应用程序的 MainView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10793036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com