Вызов - [CALayer setBorderColor:] с цветом RGB - PullRequest
0 голосов
/ 17 октября 2011

Снова все в аду. Кажется, я не могу назначить цвета RGBA методу setBorderColor слоя.

Я пытался:

UIColor *myColor = [UIColor colorWithRed:51.0f/255.0f green:102.0f/255.0f blue:153.0f/255.0f alpha:1.0f];
[l setBorderColor:myColor];

Где l имеет тип CALayer, и я получаю предупреждение: Несовместимые типы указателей отправляют 'UIColor *' параметру типа 'CGColorRed (' aka 'struct CGColor *'). Вы знаете, в чем может быть причина? Предупреждение появляется в последней строке. В Интернете я нахожу этот код снова и снова, поэтому я подумал, что он должен быть действительным ... Спасибо!

1 Ответ

7 голосов
/ 18 октября 2011

CALayer.borderColor определяется как

@property CGColorRef borderColor;

Обратите внимание, что тип здесь CGColorRef.Вы пытаетесь передать UIColor*, который является другим зверем.К счастью, UIColor имеет свойство, которое возвращает CGColorRef.Попробуйте использовать

[l setBorderColor:myColor.CGColor];
...