ios - CGGradient 3种颜色

标签 ios core-graphics

一个人如何用3种颜色绘制CGGradient?

我有一个像这样的数组:

CFArrayRef colors = (__bridge CFArrayRef) [NSArray arrayWithObjects:(id)lightGradientColor.CGColor,
                                           (id)darkGradientColor.CGColor, (id)lightGradientColor.CGColor,
                                           nil];

但我看不到中间的深色,顶部和底部都有亮点,而是顶部只有亮点,一直到底部都是深色。

最佳答案

您是否尝试过指定/验证颜色的位置?范围是[0 ... 1]:

const CGFloat locations[3] = {0.0, 0.5, 1.0};
CGGradientRef grad = CGGradientCreateWithColors(colorspace, colors, locations);

注意:上面的位置应与传递0参数的locations相同。

关于ios - CGGradient 3种颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11717410/

相关文章:

ios - 使用核心图形和核心动画创建包含圆圈的动画

ios - xamarin ios 执行旧文件

ios - NSFetchRequest 与 NSAsynchronousFetchRequest 性能

ios - 无法转换 NSSet 类型的值?预期参数类型 Set<HKSampleType>

ios - 按比例调整 UIImage 的大小然后裁剪

ios - 优化一些由likethought不透明度生成的CG代码?

ios - 不能在 drawRect 中使用颜色透明度

iphone - iOS 4.2+ webfont (ttf) 的粗体字体渲染错误

ios - 如何向 UITableViewCell 添加自定义分隔符?

c++ - 如何将 std::string 的内容获取到 CFData 对象中?