[英]How do I comfortably use CGColor in an NSArray with CGGradient
我有兩個UIColor實例,並希望使用它們創建一個漸變。 代碼可以工作,但是當我調用arrayWithObject:
constructor時它會給我一個警告:
警告:語義問題:不兼容的指針類型將'CGColorRef'(又名'struct CGColor *')發送到'id'類型的參數
我懷疑那里潛藏着與警告相關的其他問題(例如泄漏)。 這是片段:
UIColor *startColor, *endColor;
// ...
NSArray *colors = [NSArray arrayWithObjects:
startColor.CGColor, endColor.CGColor, nil];
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace,
(CFArrayRef) colors, NULL);
如何重寫代碼以安全的方式擺脫這個警告?
CGFloat components[]
試試這個
UIColor *startColor, *endColor;
// ...
NSArray *colors = [NSArray arrayWithObjects:
(id)startColor.CGColor, (id)endColor.CGColor, nil];
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace,
(CFArrayRef) colors, NULL);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.