我很难将PNChart(https://github.com/kevinzhow/PNChart)库与故事板和uistackviews一起使用。我期待图表只是填充现有uiview的空间,我正在代码中添加pnchart。然而,图表显示在屏幕外,而不是在uiview的范围内。
以下是问题的截图 - 请注意我已经将UIView添加到蓝色中,因此我可以看到它具有正确的布局。正如您所看到的,图表比添加的uiview要大得多,您无法看到y元素或整个图表。
CGRect graphViewFrame = _graphView.frame; PNLineChart * lineChart = [[PNLineChart alloc] initWithFrame:graphViewFrame]; [lineChart setXLabels:@[@"SEP 1",@"SEP 2",@"SEP 3",@"SEP 4",@"SEP 5"]]; // Line Chart No.1 NSArray * data01Array = @[@60.1, @160.1, @126.4, @262.2, @186.2]; PNLineChartData *data01 = [PNLineChartData new]; data01.color = PNFreshGreen; data01.itemCount = lineChart.xLabels.count; data01.getData = ^(NSUInteger index) { CGFloat yValue = [data01Array[index] floatValue]; return [PNLineChartDataItem dataItemWithY:yValue]; }; // Line Chart No.2 NSArray * data02Array = @[@20.1, @180.1, @26.4, @202.2, @126.2]; PNLineChartData *data02 = [PNLineChartData new]; data02.color = PNTwitterColor; data02.itemCount = lineChart.xLabels.count; data02.getData = ^(NSUInteger index) { CGFloat yValue = [data02Array[index] floatValue]; return [PNLineChartDataItem dataItemWithY:yValue]; }; lineChart.chartData = @[data01, data02]; [lineChart strokeChart]; [_graphView addSubview:lineChart];
任何想法或建议表示赞赏。我已经联系过PNChart的开发者。
答案 0 :(得分:2)
您使用的是大小等级吗? 检查您获得和使用的第一帧是否是视图显示后您期望的帧。例如,如果您使用Xib,那么#34; viewDidApear"之前和之后的帧。每种屏幕尺寸都不同。
Secound,use" clipToBounds"确保图形没有从你设定的边界中抽出。
self.lineChart.clipsToBounds = YES;
祝你好运