Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере реализовано изменение значения цвета, ширины и радиуса скругления границ диаграммы, а также следующих свойств легенды диаграммы:
ориентация содержимого легенды;
максимальное значение высоты и значение ширины легенды;
максимальное количество столбцов в легенде.
Также устанавливается упорядочивание по максимальному количеству столбцов, дополнительное содержимое над и под индикаторами легенды. В консоль среды разработки выводится рассчитанное и фактическое значения размера области содержимого легенды. При начале нажатия на область диаграммы происходит очистка содержимого легенды, а при окончании нажатия содержимое устанавливается заново.
Для выполнения примера необходимо разместить взамен метода executeExample класса ViewController (см. раздел «Создание линейной диаграммы») следующий код:
// Функция для выполнения примера
-(void) executeExample{
// Устанавливаем цвет границ диаграммы
[[chart border] setBorderColor:[UIColor blackColor]];
// Устанавливаем ширину границ диаграммы
[[chart border] setBorderThickness:2];
// Устанавливаем радиус скругления границ диаграммы
[[chart border] setBorderRadius:10];
// Задаем угол поворота содержимого легенды
[[chart legend]setContentRotation:LegendContentRotation180deg];
// Устанавливаем максимальное значение высоты легенды
[[chart legend] setMaxHeight:70];
// Устанавливаем значение ширины легенды
[[chart legend] setLegendWidth:120];
// Устанавливаем максимальное количество столбцов
[[chart legend] setMaximumColumnCount:2];
// Упорядочиваем по максимальному количеству столбцов
[[chart legend] setOrderByColumn:YES];
// Устанавливаем дополнительное содержимое над индикаторами легенды
[[chart legend] setMoreContentAboveIndicator:[UIImage imageNamed:@"circle.png"]];
// Устанавливаем дополнительное содержимое под индикаторами легенды
[[chart legend] setMoreContentBelowIndicator:[UIImage imageNamed:@"circle.png"]];
// Рассчитываем и выводим размер легенды в соответствии с заданной областью
CGSize contentSize =[[chart legend] contentSizeForRect:CGRectMake(0, 0, 200, 200)];
NSLog(@"%@ (%f, %f)", @"Рассчитанный размер области содержимого легенды:",
contentSize.width, contentSize.height);
};
// Обрабатываем событие начала касания к диаграмме
- (void)chartTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event sender:(id)sender{
// Очищаем содержимое легенды
[[chart legend] clearLegend];
}
// Обрабатываем событие касания области диаграммы
- (void)chartTouchesTapInView:(UIView *)v withPoint:(CGPoint)point
{
// Установим содержимое легенды, основываясь на данных диаграммы
[[chart legend] fillLegend];
// Выводим размер области содержимого легенды
CGSize lSize = [[chart legend] contentSize];
NSLog(@"%@ (%f, %f)", @"Размер области содержимого легенды:", lSize.width, lSize.height);
// Определяем объект, содержащий параметры легенды
NSMutableDictionary *newValuesDict = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[UIFont fontWithName:@"Arial" size: 20], @"m_font",
[UIColor blueColor], @"m_textColor",
nil];
// Определяем объект, содержащий параметры легенды по умолчанию
NSMutableDictionary *defaultValuesDict = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[UIFont fontWithName:@"Arial" size: 14], @"m_font",
[UIColor blackColor], @"m_textColor",
nil];
// Устанавливаем параметры легенды
[[chart legend] configureLegendWithDict:newValuesDict andDefaults:defaultValuesDict];
}
В результате выполнения примера будут изменены параметры легенды и границ диаграммы:

При начале нажатия на область диаграммы содержимое легенды будет очищено:

При окончании нажатия содержимое легенды будет восстановлено.
В консоль среды разработки выводится рассчитанный и фактический размер области легенды:
Рассчитанный размер области содержимого легенды: (120.000000, 74.000000)
Размер области содержимого легенды: (120.000000, 74.000000)
Также при прокрутке легенды будет отображено дополнительное содержимое над и под индикаторами:

См. также: