Description: data grid custom cell inherited from the NuGridCellWithSparkline class.
#import <NuGridView/NuGridView.h> #import <NuGridView/NuGridCellWithSparkline.h> #import <NuGridView/NuGridSparklineHelper.h> @interface SparklineCell : NuGridCellWithSparkline @property bool isUseSparkline; // Indicates whether cell with sparkline is used @end
#import "SparklineCell.h" @implementation SparklineCell @synthesize isUseSparkline = _isUseSparkline; - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { } return self; } - (void)drawRect:(CGRect)rect { if ([self isUseSparkline]) { CGContextRef context = UIGraphicsGetCurrentContext(); CGRect frame = self.bounds; // Determine sparkline data NuGridSparklineData *sparklineData = [[NuGridSparklineData new] autorelease]; [sparklineData setValues:[NSArray arrayWithObjects:[NSNumber numberWithInt:0], [NSNumber numberWithInt:0], [NSNumber numberWithInt:1], [NSNumber numberWithInt:4], [NSNumber numberWithInt:4], [NSNumber numberWithInt:3], [NSNumber numberWithInt:8], [NSNumber numberWithInt:8], [NSNumber numberWithInt:5], nil]]; // Set minimum and maximum data values [sparklineData setMinValue:0]; [sparklineData setMaxValue:10]; // Set indexes for points with peak data values [sparklineData setMaxPeakElementIndex:3]; [sparklineData setMinPeakElementIndex:1]; // Create an object used for building sparkline NuGridSparklineHelper *helper = [NuGridSparklineHelper sparklineHelper]; CGPathRef pathRef = [helper createPathWith:sparklineData forSize:frame.size]; CGPathRef maxPeakRef = [helper createPathForMaxPeakIn:sparklineData forSize:frame.size]; CGPathRef minPeakRef = [helper createPathForMinPeakIn:sparklineData forSize:frame.size]; // Set sparkline color [[UIColor orangeColor] set]; // Draw sparklines and peak values CGContextAddPath(context, pathRef); CGContextAddPath(context, maxPeakRef); CGContextAddPath(context, minPeakRef); CGContextFillPath(context); CGPathRelease(pathRef); } [super drawRect:rect]; } @end
See also: