将 uicolor 存储在 plist 中

发布于 2024-11-29 04:52:58 字数 430 浏览 0 评论 0原文

我正在尝试将 UIColor 存储在 plist 中。我看到了很多链接,但没有一个没有给出准确的答案。我的一些示例代码在下面,

CGColorRef color=[MyColor CGColor];
NSUInteger numComponents = CGColorGetNumberOfComponents(color);
const CGFloat *components=CGColorGetComponents(color);

NSArray *colorArray=[NSArray arrayWithObjects:(float)components[0],(float)components[1],nil];

它给出了“不适合我”任何人都可以告诉我将 uicolor 存储到 plist 的确切答案。提前致谢。您的建议对我很重要。请提供示例片段而不是发布链接。

I am trying to store UIColor in plist.I seen many links but none of those not given accurate answer.some of my sample code is below

CGColorRef color=[MyColor CGColor];
NSUInteger numComponents = CGColorGetNumberOfComponents(color);
const CGFloat *components=CGColorGetComponents(color);

NSArray *colorArray=[NSArray arrayWithObjects:(float)components[0],(float)components[1],nil];

it is giving Not working for me can any one tell me the exact answer to store uicolor into plist.Thanks in advance.Your suggestion is important for me.Please provide sample snippet rather than posting links.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若水微香 2024-12-06 04:52:58

您需要将各个颜色(RGBA,如果您正在使用的颜色空间)单独存储在 NSNumber 数组中。

NSNumber *red = [NSNumber numberWithFloat:components[0]];
NSNumber *green = [NSNumber numberWithFloat:components[1]];
NSNumber *blue = [NSNumber numberWithFloat:components[2]];
NSNumber *alpha = [NSNumber numberWithFloat:components[3]];

NSArray *colors = [NSArray arrayWithObjects:red, green, blue, alpha, nil];

原因是您只能将对象添加到NSArray中。 floatCGFloat 不是对象。

You would need to store the individual colors separately (RGBA, if that is the color space you are using) in an array of NSNumbers.

NSNumber *red = [NSNumber numberWithFloat:components[0]];
NSNumber *green = [NSNumber numberWithFloat:components[1]];
NSNumber *blue = [NSNumber numberWithFloat:components[2]];
NSNumber *alpha = [NSNumber numberWithFloat:components[3]];

NSArray *colors = [NSArray arrayWithObjects:red, green, blue, alpha, nil];

The reason for this is that you can only add objects to a NSArray. A float or CGFloat is not an object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文