This question is locked. New answers and comments are not allowed.
Hi,
The chart selection of this simple example works ok in all iPhones models except in the new iPhones 6s & 6s+
How can I fix this issue?
Thanks.
001.
// ViewController.m
002.
// prSimpleChart V 202
003.
004.
#import "ViewController.h"
005.
006.
@implementation ViewController{
007.
TKChart *_chart;
008.
NSInteger _selectedIndex;
009.
NSArray *_arrValuesX;
010.
NSArray *_arrValuesBlue;
011.
NSArray *_arrValuesGray;
012.
NSNumber *_yMax, *_yMin;
013.
}
014.
015.
- (void)viewDidLoad {
016.
[super viewDidLoad];
017.
018.
_arrValuesX = @[@"L",@"M",@"X",@"J"];
019.
_arrValuesBlue = @[@40, @20, @30, @50];
020.
021.
_chart = [[TKChart alloc] initWithFrame:CGRectMake(0, 80, [UIScreen mainScreen].bounds.size.width,
022.
[UIScreen mainScreen].bounds.size.height / 2.0)];
023.
_chart.delegate = self;
024.
[self.view addSubview:_chart];
025.
[self updateChart];
026.
}
027.
028.
-(void)updateChart{
029.
030.
[_chart removeAllData];
031.
_selectedIndex = -1;
032.
033.
// x Axis
034.
TKChartCategoryAxis *categoryAxis = [[TKChartCategoryAxis alloc] initWithCategories:_arrValuesX];
035.
_chart.xAxis = categoryAxis;
036.
_chart.xAxis.style.labelStyle.textColor = [UIColor grayColor];
037.
_chart.xAxis.style.labelStyle.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:11];
038.
_chart.xAxis.style.labelStyle.fitMode = TKChartAxisLabelFitModeNone;
039.
_chart.xAxis.style.lineHidden = NO;
040.
_chart.xAxis.style.lineStroke = [TKStroke strokeWithColor:[UIColor lightGrayColor] width:0.3];
041.
_chart.xAxis.style.majorTickStyle.ticksHidden = YES;
042.
_chart.xAxis.allowPan = YES;
043.
044.
_yMax = @50;
045.
_yMin = @-50;
046.
047.
// y Axis
048.
TKChartNumericAxis *yAxis = [[TKChartNumericAxis alloc] initWithMinimum:_yMin andMaximum:_yMax];
049.
yAxis.position = TKChartAxisPositionLeft;
050.
yAxis.style.lineHidden = YES;
051.
yAxis.style.majorTickStyle.ticksHidden = YES;
052.
yAxis.style.labelStyle.textColor = [UIColor grayColor];
053.
yAxis.style.labelStyle.font = _chart.xAxis.style.labelStyle.font;
054.
_chart.yAxis.allowPan = NO;
055.
[_chart addAxis:yAxis];
056.
057.
// fill arrPnts Blue
058.
NSMutableArray *arrPntsBlue = [[NSMutableArray alloc] init];
059.
for (int i = 0; i <
_arrValuesX.count
; i++) {
060.
[arrPntsBlue addObject:[TKChartDataPoint dataPointWithX:_arrValuesX[i]
061.
Y:_arrValuesBlue[i]]];
062.
063.
}
064.
// Serie sB0 Columns
065.
TKChartColumnSeries *sB0 = [[TKChartColumnSeries alloc] initWithItems:arrPntsBlue];
066.
TKChartPaletteItem *palleteItemBlue = [[TKChartPaletteItem alloc] initWithFill:[TKSolidFill solidFillWithColor:[UIColor darkGrayColor]]];
067.
sB0.style.palette = [TKChartPalette new];
068.
[sB0.style.palette addPaletteItem:palleteItemBlue];
069.
sB0.selectionMode
=
TKChartSeriesSelectionModeDataPoint
;
070.
[_chart addSeries:sB0];
071.
072.
[_chart reloadData];
073.
}
074.
075.
- (void)chart:(TKChart *)chart didSelectPoint:(id<TKChartData>)point inSeries:(TKChartSeries *)series atIndex:(NSInteger)index{
076.
NSLog(@"SEL: %zd",index);
077.
_selectedIndex = index;
078.
}
079.
080.
-(void)chart:(TKChart *)chart didDeselectPoint:(id<
TKChartData
>)point inSeries:(TKChartSeries *)series atIndex:(NSInteger)index{
081.
NSLog(@"DES: %zd",index);
082.
_selectedIndex = -1;
083.
}
084.
085.
- (TKChartPaletteItem *)chart:(TKChart *)chart paletteItemForSeries:(TKChartSeries *)series atIndex:(NSInteger)index{
086.
if (_selectedIndex == -1) {
087.
return nil;
088.
}
089.
TKChartPaletteItem *paletteItem = [TKChartPaletteItem new];
090.
if (_selectedIndex == index) {
091.
paletteItem.fill = [TKSolidFill solidFillWithColor:[UIColor darkGrayColor]];
092.
}
093.
else {
094.
paletteItem.fill = [TKSolidFill solidFillWithColor:[UIColor lightGrayColor]];
095.
}
096.
return paletteItem;
097.
}
098.
099.
@end