Описание: представление, предназначенное для отрисовки маркеров.
#import <Charting/Charting.h>
#import <Charting/Chart.h>
// Определяем пользовательское представление
@interface CustomView : UIView{
Chart *chart;
}
- (void) setChart:(Chart *) newChart;
@end
#import "CustomView.h"
@implementation CustomView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self setBackgroundColor:[UIColor clearColor]];
}
return self;
}
// Устанавливаем диаграмму
- (void)setChart:(Chart *)chartParam{
chart = chartParam;
}
// Переопределяем метод отрисовки
- (void)drawRect:(CGRect)rect
{
// Получаем графический контекст
CGContextRef context = UIGraphicsGetCurrentContext();
// Получаем ряд данных
ChartSeries *series = [chart seriesList][0];
// Получаем точку ряда данных
LinePoint *lPoint = [[series points] objectForKey:[NSNumber numberWithInt:2]];
// Получаем маркер точки ряда
ChartMarker *marker = [lPoint marker];
// Определяем путь отрисовки
CGMutablePathRef path = CGPathCreateMutable();
// Определяем области отрисовки маркеров
CGRect r1 = CGRectMake(10, 12, 15, 15);
CGRect r2 = CGRectMake(100, 30, 15, 15);
// Отрисовываем указанный маркер
[marker addShapeToPath:path inRect:r1];
// Отрисовываем маркер круглой формы
[ChartMarker addMarkerShapePathToPath:path forShape:MarkerShapeCircle forRect:r2];
// Устанавливаем цвет заливки
CGContextSetRGBFillColor(context, 0, 0.2, 1, 1);
// Добавляем путь в контекст отрисовки
CGContextAddPath(context, path);
// Заполняем путь цветом заливки
CGContextFillPath(context);
}
@end
См. также: