- (void)drawRect:(CGRect)rect {
// Drawing code.
// BackgroundColor
CALayer *myLayer = [self layer];
[myLayer setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.5].CGColor];
...
}
当我想为图层设置setBackgroundColor时,发生了警告。 但代码运行正常。
=============================================== ============
最佳答案是:
#import <QuartzCore/QuartzCore.h>
答案 0 :(得分:4)
如果你的模块中没有包含Quartz,那么编译器不会将CGColor作为一种类型知道并发出警告。
将#import <QuartzCore/QuartzCore.h>
放入标题中,它应删除警告。
希望这有帮助,
戴夫
答案 1 :(得分:1)
backgroundColor
的{{1}}属性属于CALayer
类型,它是CGColorRef
CGColor
属性的返回类型,因此代码看起来很合理。
尝试这样做:
UIColor
答案 2 :(得分:0)
从命令中删除CGColor转换并将其写为:
[myLayer setBackgroundColor:(id)[UIColor colorWithRed:0 green:0 blue:0 alpha:0.5].CGColor];
抱歉...试试这个更新版本