gpt4 book ai didi

ios - 从 App-delegate 重新加载或运行函数

转载 作者:行者123 更新时间:2023-11-28 22:27:28 25 4
gpt4 key购买 nike

在我的应用程序中,整个 UI 基于 tintColor,我让用户有机会自己选择颜色,我将其保存在 NSUserDefaults

这是来 self 的 AppDelegate 的代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

if (![[NSUserDefaults standardUserDefaults] objectForKey:@"ThemeColor"])
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *colorData = [NSKeyedArchiver archivedDataWithRootObject: [UIColor orangeColor]];
[defaults setObject: colorData forKey:@"ThemeColor"];
[defaults synchronize];
self.window.tintColor = [UIColor orangeColor];
}
else
{
NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"ThemeColor"];
UIColor *color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData];
self.window.tintColor = color;
}
return YES;
}

我让用户在 UITableView 中更改颜色,那么我如何从 didSelectRowAtIndex 重新加载上面的代码(或类似的代码)?

最佳答案

//AppDelegate.h
-(void)setUserColor;
//AppDelegate.m
-(void)setUserColor{
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"ThemeColor"])
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *colorData = [NSKeyedArchiver archivedDataWithRootObject: [UIColor orangeColor]];
[defaults setObject: colorData forKey:@"ThemeColor"];
[defaults synchronize];
self.window.tintColor = [UIColor orangeColor];
}
else
{
NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"ThemeColor"];
UIColor *color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData];
self.window.tintColor = color;
}

}

然后导入 AppDelegate.h 并选择

    AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate setUserColor];

关于ios - 从 App-delegate 重新加载或运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18510880/

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