解读CGColor

Jef*_*Jef 1 iphone quartz-graphics cgcolor

嗨,我试图让我的脑袋围绕CGColor,我一直在做很多Quartz2d的东西.在过去我用[UIColor xColor] .CGColor搞砸了它...但是当我指定颜色时,这个新的编译器会崩溃,即[UIColor redColor] .CGColor很好,但如果我自己煮[UIColor color withRed:x Green:y etc] .CGColor它崩溃了.我不认为它是一个保留问题,因为[UIColor alloc] initWithRed:].CGColor给了我同样的东西.我猜UIColor - > CGColor桥有点捏造,硬编码只用于预设颜色,而不是转换.所以我正在寻找一种RGB类型的CGColor方案,这样我就可以从一组值中重建一种颜色.我真的不在乎它的0-1或1-255等,只需要一个系统我可以解决我的问题,如果有人能给我一个骨头,我真的很感激它欢呼

Lil*_*ard 5

我希望真正发生的事情是你没有保留最终的颜色,你让UIColor得到自动释放.内置颜色(例如-redColor,等等)可能是永远存在的全局变量,但是您创建的颜色-colorWithRed:green:blue:alpha:是按需创建并自动释放的.如果你将CGColor拉出来,CGColor的寿命与UIColor的寿命有关,所以如果你要保持CGColor超过当前的堆栈你需要CGColorRetain()它(然后CGColorRelease()当你是完成).