Как обернуть текст, добавленный в график, используя базовую библиотеку графиков в iphone SDK - PullRequest
1 голос
/ 21 октября 2011

Я добавил метки на круговую диаграмму вот так - (CPTLayer *) dataLabelForPlot: (CPTPlot *) сюжет recordIndex: (NSUInteger) индекс {

CPTTextLayer *newLayer = nil;
UIFont *theFont;

static CPTMutableTextStyle *whiteText = nil;

if ( !whiteText )
{
    whiteText = [[CPTMutableTextStyle alloc] init];
    whiteText.color = [CPTColor blackColor];
    whiteText.textAlignment = CPTTextAlignmentCenter;
    whiteText.fontName = @"Helvetica-Bold";
    whiteText.fontSize =  10.0f;
   theFont = [UIFont fontWithName:whiteText.fontName size:whiteText.fontSize];


}
if ( [plot isKindOfClass:[CPTPieChart class]] ) 
{
    newLayer.delegate = self;
    newLayer = [[[CPTTextLayer alloc] initWithText:[NSString stringWithFormat:@"%@", [pieChartData2 objectAtIndex:index]] style:whiteText] autorelease];
      }

return newLayer;
    }

Что я хочу здесь (1) Я хочу обернуть текст, который слишком длинный. (2) Я хочу отобразить заголовок среза и его значение. (3) Мне нужно нарисовать линию для заголовка и слайса. Пожалуйста, помогите мне.

спасибо заранее

1 Ответ

1 голос
/ 22 октября 2011
  1. Вы можете вставить символы новой строки ('\ n') в текст для переноса на следующую строку. Базовый график не переносит текст автоматически.

  2. Это метод источника данных - он должен иметь доступ к значениям данных и заголовку. Используйте оба для построения строки метки.

  3. Рисование линий на метке пока не поддерживается. Вы можете создать собственный подкласс CPTTextLayer, который рисует линию в дополнение к тексту, и использовать ее вместо стандартного CPTTextLayer для создания меток.

...