Как использовать обтекание CPTAxisLabel в две строки, используя библиотеку corePlot в iphone SDK? - PullRequest
1 голос
/ 24 октября 2011

Я хочу отобразить строки CPTAxisLabel, если длина текста превышает 50 символов. Как я могу это сделать? Я видел способ нарисовать строку в прямоугольнике. Но я не знаю, как вызвать этот метод. Если следующий метод является решением для этого, пожалуйста, помогите мне, как это назвать. В противном случае, пожалуйста, предоставьте мне другое.

Заранее спасибо - (void) drawInRect: (CGRect) rect withTextStyle: (CPTTextStyle *) стиль в контексте: CGContextRef {
if (style.color == nil) return;

CGContextSaveGState(context);
CGColorRef textColor = style.color.cgColor;

CGContextSetStrokeColorWithColor(context, textColor);   
CGContextSetFillColorWithColor(context, textColor);

CPTPushCGContext(context);  

UIFont *theFont = [UIFont fontWithName:style.fontName size:style.fontSize];

[self drawInRect:rect
        withFont:theFont
   lineBreakMode:UILineBreakModeWordWrap
       alignment:(UITextAlignment)style.textAlignment];

CGContextRestoreGState(context);
CPTPopCGContext();

}

1 Ответ

0 голосов
/ 25 октября 2011

Не нужно изобретать велосипед - CPTTextLayer может выполнять многострочный текст. Вставьте символы новой строки ('\ n') там, где вы хотите разрывы строк. CPTTextStyle может управлять выравниванием текста (слева, по центру, справа).

...