cocoa-touch – 为什么我的CGGradient不能使用预设的UIColor?

栏目: Objective-C · 发布时间: 7年前

内容简介:代码看起来很好. blackColor和clearColor可能都是白色空间,但文档说CGGradientCreateWithColors会将颜色转换为你传入的颜色空间,所以这并不重要.我唯一能想到的是尝试为颜色空间传递NULL,让渐变将颜色转换为Generic RGB而不是Device RGB.这可能有用,但不应该有所作为 – 据我所见,它应该以任何方式工作.我建议

我有这个工作代码:

NSMutableArray *shadowColors = [NSMutableArray arrayWithCapacity:2];
    color = [UIColor colorWithRed:0 green:0 blue:0 alpha:1]; // Declaration using components
    [shadowColors addObject:(id)[color CGColor]];
    color = [UIColor colorWithRed:1 green:1 blue:1 alpha:0.0]; // Declaration using components
    [shadowColors addObject:(id)[color CGColor]];

    CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();
    CGGradientRef gradient = CGGradientCreateWithColors(space, (CFArrayRef)shadowColors, NULL);
    CGColorSpaceRelease(space);

    CGFloat sw = 10.0; // shadow width

    CGPoint top1 = CGPointMake(x, y+width/2.0);
    CGPoint top2 = CGPointMake(x + sw, y+width/2.0);

    CGPoint side1 = CGPointMake(x+width/2.0, y);
    CGPoint side2 = CGPointMake(x+width/2.0, y+sw);

    CGContextDrawLinearGradient(c, gradient, top1, top2, 0);
    CGContextDrawLinearGradient(c, gradient, side1, side2, 0);
    CGGradientRelease(gradient);

颜色声明是我感兴趣的部分,第2行和第4行.当我按照所示声明它们时,它们工作得很好,但如果我用等效物替换这两行(我想,至少)[UIColor blackColor]和[UIColor clearColor]然后我的渐变消失.我使用的颜色没有任何区别,我可以使用greenColor和redColor,但它们仍然不起作用.

我错过了什么,或者这是Apple框架中的错误?

代码不起作用.这只是第一部分,其他一切都是一样的.

NSMutableArray *shadowColors = [NSMutableArray arrayWithCapacity:2];
    color = [UIColor blackColor];
    [shadowColors addObject:(id)[color CGColor]];
    color = [UIColor clearColor];
    [shadowColors addObject:(id)[color CGColor]];

代码看起来很好. blackColor和clearColor可能都是白色空间,但文档说CGGradientCreateWithColors会将颜色转换为你传入的颜色空间,所以这并不重要.

我唯一能想到的是尝试为颜色空间传递NULL,让渐变将颜色转换为Generic RGB而不是Device RGB.这可能有用,但不应该有所作为 – 据我所见,它应该以任何方式工作.

我建议 filing a bug .

翻译自:https://stackoverflow.com/questions/3900519/why-is-my-cggradient-not-working-with-a-preset-uicolor


以上所述就是小编给大家介绍的《cocoa-touch – 为什么我的CGGradient不能使用预设的UIColor?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

探索需求

探索需求

章柏幸、王媛媛、谢攀、杰拉尔德・温伯格、唐纳德・高斯 / 章柏幸、王媛媛、谢攀 / 清华大学出版社 / 2004-7-1 / 39.00元

本书将与您一起寻找"什么是客户真正想要的"这一问题的答案。 本书着眼于系统设计之前的需求过程,它是整个开发过程(如何设计人们想要的产品和系统)中最有挑战性的那部分。通过对一些需求分析中的常见误区和问题的分析和讨论,从和客户沟通开始,深入研究一些可能的需求,澄清用户和开发者期望值,最终给出了能够大幅度提高项目成功几率的一些建议方法。 本书由该领域内公认的两位作者合著,搜集了他们在大大小小......一起来看看 《探索需求》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具