根据我在此博客上找到的代码,我正在尝试backgroundView
使用渐变自定义分组的 UITableViewCell。它是用于 cell.backgroundView 的 UIView 的子类。
背景渐变的颜色在原始代码中定义如下:
#define TABLE_CELL_BACKGROUND { 1, 1, 1, 1, 0.866, 0.866, 0.866, 1} // #FFFFFF and #DDDDDD
然后,drawRect
在子类 backgroundView 上像这样使用:
CGFloat components[8] = TABLE_CELL_BACKGROUND;
myGradient = CGGradientCreateWithColorComponents(myColorspace, components , locations, 2);
我正在尝试实现一个函数来设置渐变的开始和结束颜色,它需要两个 UIColors,然后填充一个全局浮点数组 float startAndEndColors[8]
(在 .h / @interface 中)以供以后使用:
-(void)setColorsFrom:(UIColor*)start to:(UIColor*)end{
float red = 0.0, green = 0.0, blue = 0.0, alpha =0.0, red1 = 0.0, green1 = 0.0, blue1 = 0.0, alpha1 =0.0;
[start getRed:&red green:&green blue:&blue alpha:&alpha];
[end getRed:&red1 green:&green1 blue:&blue1 alpha:&alpha1];
//This line works fine, my array is successfully filled, just for test
float colorsTest[8] = {red, green, blue, alpha, red1, green1, blue1, alpha1};
//But for this one, I just have an error.
//"Expected expression"
// \
// v
startAndEndColors = {red, green, blue, alpha, red1, green1, blue1, alpha1};
}
但它在分配时向我抛出了这个错误“预期表达式”。
我尝试了CGFloat
,拼命添加 random const
,但我很快就没有想法了。
我根本不明白,为什么我不能以这种方式填充我的浮点数组?我究竟做错了什么?