我创建了一个这样的渐变:
NSGradient *g = [[NSGradient alloc] initWithColorsAndLocations:
[NSColor colorWithWhite:1 alpha:1], 0,
[NSColor colorWithWhite:0 alpha:0], 1, nil];
但是当我使用drawInRect:angle:
将其绘制成图像时,我得到一个纯白色图像而不是渐变。怎么了?
答案 0 :(得分:0)
由于-initWithColorsAndLocations:
是一个可变函数,编译器不知道参数需要的类型(超出第一个参数)。被调用者要求“位置”为CGFloat
值,但是当传递1
或0
时,它将作为int传递,因此它被解释为一个非常小的浮点值
解决方案是为(CGFloat)0.0
和(CGFloat)1.0
而不是0
和1
传递{{1}}和{{1}}。