我正在创建一个条形图,然后在上面添加空格,如下所示....
CPTGraph *graph = self.hostView.hostedGraph;
graph.plotAreaFrame.paddingTop = smallPlotTopOffset; //some number like 25.0
我已经将paddingTop添加到图表本身,然后使用titleDisplacement将graph.title移动到此空间。
但是,现在我想在plotAreaFrame.paddingTop创建的空间中在标题和图形之间添加标签。这可能使用CPTTextLayers吗?我一直在尝试添加一个图层,但它们似乎受plotAreaFrame约束(即在填充内)。我想将我的标签对齐在我的graph.title下面,因此尝试使用hostView,而不是仅仅将UILabel添加到superview。
答案 0 :(得分:3)
对于其他任何感兴趣的人,我按照以下方式做到了......
CPTLayerAnnotation *ann = [[CPTLayerAnnotation alloc] initWithAnchorLayer:self.hostView.hostedGraph.plotAreaFrame];
ann.rectAnchor = CPTRectAnchorTop; //to make it the top centre of the plotFrame
ann.displacement = CGPointMake(0, -20.0); //To move it down, below the title
CPTTextLayer *textLayer = [[CPTTextLayer alloc] initWithText:@"Your Text" style:nil];
ann.contentLayer = textLayer;
[self.hostView.hostedGraph.plotAreaFrame addAnnotation:ann];
我认为这是最好的方法,虽然如果我能将它锚定在主标题下方更好,而不是添加手动位移。
答案 1 :(得分:2)
使用图层注释并将其添加到图形中。