Brad の回答に従って、CALayer テキストにグロー効果を適用しています。
これが私のコードです:
- (void)drawLayer:(CALayer *)theLayer inContext:(CGContextRef)context
{
UIGraphicsPushContext(context);
UIFont *font = [UIFont fontWithName:@"Verdana" size:11.0f];
CGRect rect = CGRectMake(theLayer.bounds.origin.x + 5, theLayer.bounds.origin.y + 5, theLayer.bounds.size.width - 10, theLayer.bounds.size.height - 10);
NSString * textToWrite = @"Some text";
UIColor *color = [ UIColor colorWithRed: (100.0f) green: (50.0) blue:(200.0f) alpha: 1.0f ];
CGContextSetFillColorWithColor(context, color.CGColor); //this has no effect!!!
CGContextSetShadowWithColor(context, CGSizeMake(0.0, 0.0), 2.0f, [UIColor greenColor].CGColor);
[textToWrite drawInRect:rect withFont:font
lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentLeft];
UIGraphicsPopContext();
}
私はここでまともな緑の輝きを得ています。ただし、グローとは別に、テキストにも独自の色が必要です。このために、ここでは color 変数を とともに使用していCGContextSetFillColorWithColor
ます。しかし、それは効果がないようです。テキストは白く見え、緑色に輝きます。メインカラー = color およびグロー = グリーンのテキストが必要です。
私は何をすべきか?