0

我正在尝试将填充设置UIColoralpha

glassColor = [[UIColor lightGrayColor] colorWithAlphaComponent:0.3].CGColor;
CGContextSetFillColorWithColor(context, glassColor);
...

第二行与EXC_BAD_ACCESS.

关于为什么的任何想法?

4

2 回答 2

3

本质上,您的问题是 ARC 正在释放 UIColor,因为它没有被使用。您需要保留 CGColor 结构。您可以通过以下方式进行。

 CGColorRef aColorRef = CGColorRetain([[UIColor colorWithWhite:0.82 alpha:1.0] CGColor] );
 CGContextSetFillColorWithColor(context, aColorRef);

使用完毕后不要忘记释放它:

 CGColorRelease(aColorRef); 
于 2013-04-19T09:25:41.820 回答
3

在 ARC 中尝试使用

       UIColor *glasscolor = [UIColor colorWithRed: red 
                                   green: green 
                                    blue: blue 
                                   alpha: your alpha value];// 
       [view setBackgroundColor:glasscolor];

例如非常浅的灰色

        UIColor *glasscolor = [UIColor colorWithRed:0.945 green:0.945 blue:0.945 alpha:1.0]
        [view setBackgroundColor:glasscolor]; 
于 2013-04-19T08:19:34.273 回答