Как правильно добавить метку / аннотацию Core Plot к объекту CPPieChart? - PullRequest
0 голосов
/ 01 июля 2010

Я тестирую CPPieChart и обнаруживаю, что метод делегата источника данных -sliceLabelForPieChart:recordIndex: не отображает метку среза.

Кроме того, для круговой диаграммы отсутствует свойство title.

Итак, я решил протестировать, используя экземпляр UILabel:

UILabel *viewTitle = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 100.0f, 24.0f)];
viewTitle.text = @"Total Space";
[hostingView addSubview:viewTitle];
[viewTitle release];

Интересно, похоже, что координаты меток инвертированы, а текст зеркально отражен:

alt text

Как лучше всего разрешить инверсию системы координат и зеркальное отображение текста?

Ответы [ 2 ]

2 голосов
/ 01 июля 2010

Извините за это. В какой-то момент мне нужно закончить реализацию этого типа диаграммы.

Причина, по которой UILabel переворачивается, заключается в том, что мы размещаем графики базовых графиков в UIView, который инвертирует систему координат своего слоя. Это сделано, чтобы сохранить ту же систему координат между Mac и iPhone для каркаса (на основе обычной системы координат Quartz, где 0,0 слева внизу).

Вместо добавления UILabel к графику, вы можете напрямую добавить CPTextLayer к слою графика (или одному из других слоев в иерархии отображения). CPTextLayers воспроизводятся в стандартном координатном пространстве графиков основного графика, поэтому они должны правильно отображаться.

0 голосов
/ 02 июля 2010

Метки среза не реализованы - этот метод делегата существует для определения интерфейса, но еще не используется.

Недавно мы добавили возможность добавлять заголовки к графику, но не отдельные графики. Версия CPTestApp для iPhone добавляет заголовок к гистограмме, чтобы показать, как это делается.

...