1

我已ARC启用并且正在尝试执行以下操作:

CGColorRef outerColor = (id)[UIColor colorWithWhite:1.0 alpha:1.0].CGColor;

我尝试的演员导致错误:

Implicit conversion of an Objective-C pointer to 'CGColorRef' (aka 'struct CGColor *') is disallowed with ARC

我尝试了很多东西,但我不知道如何完成这个演员表。

4

2 回答 2

3

您需要连接演员阵容,以便 ARC 了解您在做什么以及如何应对。检查这个问题的公认答案:ARC and bridged cast

于 2012-05-06T16:27:18.237 回答
1

(代表 OP 发布答案)

我正在添加outerColor一个数组,所以我这样做了:

CAGradientLayer *maskLayer = [CAGradientLayer layer];

CGColorRef outerColor = [UIColor colorWithWhite:1.0 alpha:1.0].CGColor;
CGColorRef innerColor = [UIColor colorWithWhite:1.0 alpha:0.0].CGColor;

maskLayer.colors = [NSArray arrayWithObjects:(__bridge id)outerColor, 
                    (__bridge id)innerColor, (__bridge id)innerColor, (__bridge id)outerColor, nil];
于 2017-09-14T10:48:59.447 回答