Ios 如何设置边框的颜色数组
在这里,我试图设置用户配置文件图标边框的多种颜色Ios 如何设置边框的颜色数组,ios,objective-c,Ios,Objective C,在这里,我试图设置用户配置文件图标边框的多种颜色 CAGradientLayer *layer2 = [CAGradientLayer layer]; NSArray *colors = [NSArray arrayWithObjects: (id)[UIColor whiteColor].CGColor,
CAGradientLayer *layer2 = [CAGradientLayer layer];
NSArray *colors = [NSArray arrayWithObjects:
(id)[UIColor whiteColor].CGColor,
(id)[UIColor redColor].CGColor,
nil];
下面的行给了我错误我想通过从数组中添加颜色来设置它的边框颜色,但它给了我错误。我如何将颜色数组传递给setBorderColor:method
[layer2 setBorderColor:colors];
//below code is working fine
[layer2 setFrame:cell.userIcon.layer.frame];
[cell.userIcon.layer insertSublayer:layer2 atIndex:0];
cell.userIcon.clipsToBounds = YES; // Important!
您混淆了
颜色
和边框颜色
属性<代码>颜色属性可以为具有多种颜色的整个图层设置,但是,borderColor
不接受CGColor
数组
以下是API文档中的屏幕截图:
因此,setBorderColor
只接受CGColor
,但您正在分配一个NSArray
borderColor
属性只能由单个CGColor
设置
但是,如果要将单个CGColor
添加到数组的边框颜色,可以执行以下操作。只需在数组中存储UIColor
NSArray *colors = [NSArray arrayWithObjects:
[UIColor whiteColor],
[UIColor redColor],
nil];
当您尝试设置为图层时,请执行以下操作:
[layer2 setBorderColor:((UIColor*)colors.firstObject).CGColor];
您可以将
颜色。firstObject
替换为颜色[0]
或颜色[1]
,具体取决于您需要的颜色。查看其他一些已经解决了这个问题的问题,比如,或者我已经检查了它们,并且没有传递数组,因为只有一种颜色@Tj3nAnd?您是否遵循了其中的答案?是的,他们正在向setBorderColor:方法传递单一颜色,而不是数组@Tj3n@Tj3n已经在他的第一条评论中为你推荐了链接。我希望两种颜色在同一个边框中,这就是我使用渐变的原因,我不打算使用数组中的一个接一个,我希望同时使用这两种颜色。谢谢你的帮助,但我希望在边框中同时使用两种颜色。