使用RGB颜色调用 - [CALayer setBorderColor:]

时间:2011-10-17 19:58:16

标签: cocoa core-animation calayer

再次见到了所有人。我似乎无法将RGBA颜色分配给图层的setBorderColor方法。

我试过了:

UIColor *myColor = [UIColor colorWithRed:51.0f/255.0f green:102.0f/255.0f blue:153.0f/255.0f alpha:1.0f];
[l setBorderColor:myColor];

其中l是CALayer类型并且我收到警告:不兼容的指针类型将'UIColor *'发送到'CGColorRed类型的参数'('aka'struct CGColor *')。 你知道原因是什么吗?警告显示在最后一行。 在互联网上,我一遍又一遍地发现这个代码,所以我认为它应该是有效的...谢谢!

1 个答案:

答案 0 :(得分:7)

CALayer.borderColor定义为

@property CGColorRef borderColor;

请注意,此处的类型为CGColorRef。你试图传递UIColor*,这是一个不同的野兽。幸运的是,UIColor有一个返回CGColorRef的属性。尝试使用

[l setBorderColor:myColor.CGColor];