我想让应用程序的背景根据时间改变颜色,例如,如果是 12:34:56,十六进制颜色代码将是 #123456,所以背景会改变颜色为 #123456。这可能吗。还有没有办法使用更广泛的数字和字母,因为格式可能会排除很多颜色。
谢谢
要设置十六进制颜色,您可以参考: 如何设置背景的十六进制颜色代码每秒更改一次 - 只需使用"NSDateFormatter"创建特定的解析器:
[dateFormatter setDateFormat:@"hhmmss"]; //hours minutes seconds
然后将其放入函数并使用NSTimer
每秒调用一次
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(changeBackgroundColor) userInfo:nil repeats:YES]
(参考重复问题的答案建议(
试试这个代码:
NSDate *mydate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hhmmss"];
NSString *formattedDateString = [dateFormatter stringFromDate:mydate];
然后我会使用
[self.view setBackgroundColor: [self colorWithHexString:formattedDateString ]];
现在colorWithHexString
这个问题链接中给出了一种方法:如何设置背景的十六进制颜色代码
希望这可以帮助您实现您的要求。