传递“setBackgroundColor:”的参数 1来自不兼容的指针类型
- (void)drawRect:(CGRect)rect {
// Drawing code.
// BackgroundColor
CALayer *myLayer = [self layer];
[myLayer setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.5].CGColor];
...
}
当我想为图层设置背景颜色时,出现警告。 但代码运行正常。
=================================================== =========
最佳答案是: #import
- (void)drawRect:(CGRect)rect {
// Drawing code.
// BackgroundColor
CALayer *myLayer = [self layer];
[myLayer setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.5].CGColor];
...
}
when I want to setBackgroundColor for the layer, the warning occurred.
But the code runs OK.
===========================================================
The Best Answer is :#import <QuartzCore/QuartzCore.h>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您的模块中未包含 Quartz,则编译器不知道 CGColor 作为类型并发出警告。
将
#import
放入标头中,它应该会删除警告。希望这有帮助,
戴夫
If you don't include Quartz in your module then the compiler does not know about CGColor as a type and issues the warning.
Put
#import <QuartzCore/QuartzCore.h>
in your header and it should remove the warning.Hope this helps,
Dave
CALayer
的backgroundColor
属性的类型为CGColorRef
,它是CGColor
属性的返回类型UIColor,所以代码看起来很合理。尝试这样做:
The
backgroundColor
property ofCALayer
is of typeCGColorRef
which is the return type of theCGColor
property ofUIColor
, so the code looks sound.Try doing this instead:
从命令中删除 CGColor 转换并将其写为:
抱歉...尝试这个更新版本
Remove CGColor conversion from the command and write it as:
sorry...try this updated version