Создать текст Инсульт для UILabel iphone
Мне было интересно, как я могу создать текстовый штрих для UILabel в iOS4? Мне нужно какое-то предложение. Я хочу что-то вроде этого:
![alt text]()
EDITED:
UIFont *font = [UIFont fontWithName:@"Arial" size:222];
CGPoint point = CGPointMake(0,0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 0.7);
CGContextSetRGBStrokeColor(context, 2, 2, 2, 1.0);
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
CGContextSaveGState(context);
// I change it to my outlet
[label.text drawAtPoint:point withFont:font];
CGContextRestoreGState(context);
Ответы
Ответ 1
UIFont *font = [UIFont fontWithName:@"Arial" size:14];
CGPoint point = CGPointMake(0,0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 0.7);
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 1.0);
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
CGContextSaveGState(context);
[@"Label" drawAtPoint:point withFont:font];
CGContextRestoreGState(context);
вы можете посмотреть здесь:
http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_text/dq_text.html
и в примере кода здесь:
http://developer.apple.com/library/ios/#samplecode/QuartzDemo/Introduction/Intro.html%23//apple_ref/doc/uid/DTS40007531
Ответ 2
У меня есть чистое решение, реализующее подкласс UILabelStroke:
@implementation UILabelStroked
@synthesize strokeColor;
- (void)drawTextInRect:(CGRect)rect {
UIColor *borderColor = self.strokeColor;
UIColor *fillColor = self.textColor;
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 1.0f);
CGContextSetTextDrawingMode(context, kCGTextStroke);
self.textColor = borderColor;
[super drawTextInRect:rect];
CGContextSetLineWidth(context, 0.0f);
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
self.textColor = fillColor;
[super drawTextInRect:rect];
}
@end
Ответ 3
Ну, если вы хотите нарисовать текст в ярлыке с пользовательским шрифтом, например CGFontRef, это не совсем просто. Я немного искал Google и нашел для вас решение, которое предполагает, что вы наследуете класс UILabel и переписываете метод drawTextInRect для этого. Вся необходимая информация для вас здесь.