cocoa-touch – 为什么我的CGGradient不能使用预设的UIColor?
栏目: Objective-C · 发布时间: 5年前
内容简介:代码看起来很好. 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?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- SeasLog 1.9.0 发布, 支持修改预设变量及批量记录数组
- SeasLog 1.9.0 发布, 支持修改预设变量及批量记录数组
- ApiCloud开发SuperWebView——极光推送不能监听通知内容以及不能跳转的问题
- 有的便宜不能占
- golang不能使用debug
- 影像云,一个不能错失的时代
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
企业应用架构模式
Martin Fowler / 王怀民、周斌 / 机械工业出版社 / 2010-4 / 59.00元
《企业应用架构模式》作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。《企业应用架构模式》获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。《企业应用架构模式》分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是《企业应用架构模式》的主体......一起来看看 《企业应用架构模式》 这本书的介绍吧!