Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере описываются некоторые приемы работы с контроллером настройки ряда данных. После запуска примера выполняются следующие операции:
создается линия тренда диаграммы с помощью указанного в качестве источника ряда данных;
создается контроллер настройки ряда данных;
для созданного контроллера задается значение линии тренда.
Для выполнения примера необходимо разместить в теле метода executeExample класса ViewController (см. раздел «Отображение экспресс-отчёта») следующий код:
// Получаем массив контроллеров представлений данных
NSArray *controllers =[m_controller dataViewControllers];
// Выбираем диаграмму в качестве текущего представления
[m_controller setDataViewControllerWithIndex: 1];
// Перебираем в цикле контроллеры представлений данных
for(NSObject *controller in controllers)
{
// Проверяем, является ли текущий контроллер контроллером представления данных в виде диаграммы
if([controller isMemberOfClass:[MAChartDataViewController class]])
{
// Получаем объект контроллера представления данных в виде диаграммы
MAChartDataViewController *chartController = (MAChartDataViewController *)controller;
// Получаем представление контроллера
UIView *view = [chartController view];
// Проверяем, является ли текущее представление представлением данных в виде диаграммы
if([view isMemberOfClass:[Chart class]])
{
// Получаем источник данных диаграммы
ChartDataViewDatasource *datasource = [[chartController dataSource] datasource];
// Получаем ключ, соответствующий ряду данных с индексом 1
NSString *key = [NSString stringWithFormat:@"%@", [[datasource seriesKeys] objectAtIndex: 1] ];
// Получаем представление данных в виде диаграммы
Chart *chart = (Chart *)view;
// Создаем линию тренда
TrendLine *line = [[TrendLine alloc] init];
// Добавляем линию тренда в представление данных в виде диаграммы
[chart addTrendLine:line];
// Задаем источник данных линии тренда
line.dataSource = [chartController dataSource];
// Устанавливаем ключ ряда данных, на основе которого строится линия тренда
[line setDataIndex:key];
// Задаем цвет линии тренда
line.color = [UIColor blueColor];
// Задаем толщину линии тренда
line.thickness = 2;
// Устанавливаем признак того, будет ли название линии тренда сформировано автоматически
line.autoName = YES;
// Обновляем данные линии тренда
[line updateData];
// Создаем контроллер настройки ряда данных с индексом 1 с помощью контроллера представления данных в виде диаграммы
ChartRowViewController *row = [[ChartRowViewController alloc] initWithDelegate:chartController index:1];
// Устанавливаем для контроллера настройки ряда данных значение линии тренда
[row setTrendLine:line];
// Устанавливаем представление, в котором будет отображена линия тренда
[[row trendLine] setChartView:chart];
break;
}
}
}
В результате выполнения примера был отображен экспресс-отчет, содержащий диаграмму, на которой отображена линия тренда для указанного ряда данных:

Далее необходимо в теле метода executeExample разместить перед строками:
// Устанавливаем представление, в котором будет отображена линия тренда [[row trendLine] setChartView:chart];
следующий код:
// Устанавливаем новое значение цвета линии тренда [[row trendLine] setColor: [UIColor redColor]];
В результате выполнения обновленного примера цвет линии тренда для указанного ряда данных диаграммы будет изменен:

См. также: