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

Tra*_*ace 0 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];
Run Code Online (Sandbox Code Playgroud)

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

Lil*_*ard 7

CALayer.borderColor 被定义为

@property CGColorRef borderColor;
Run Code Online (Sandbox Code Playgroud)

请注意,这里的类型是CGColorRef.你想要传递一个UIColor*,这是一个不同的野兽.幸运的是,UIColor有一个属性返回一个CGColorRef.尝试使用

[l setBorderColor:myColor.CGColor];
Run Code Online (Sandbox Code Playgroud)