2014-12-05 73 views
1

我有OS X应用程序的图表,可以调整窗口的大小。我期望宽度足够小时,图例会被截断或剪切。但是,如下所示,它溢出到绘图区域之外。理想情况下,我希望图例截断或至少剪辑内容。如何才能做到这一点?Coreplot Legend图外绘图

我的传说设置如下

- (void)configureLegend 
{ 
    // 1 - Get graph instance 
    CPTGraph *graph = self.graphHostingView.hostedGraph; 
    // 2 - Create legend 
    CPTLegend *theLegend; 
    if (!theLegend) { 
     theLegend = [CPTLegend legendWithGraph:graph]; 
    } 

    //Configure Text 
    CPTMutableTextStyle *textStyle = [CPTMutableTextStyle textStyle]; 
    textStyle.color = [CPTColor colorWithComponentRed:0.612f green:0.612f blue:0.612f alpha:1.00f]; 
    textStyle.fontName = @"HelveticaNeue"; 
    textStyle.fontSize = 12.0f; 
    theLegend.textStyle = textStyle; 

    // 3 - Configure legend 
    theLegend.numberOfColumns = 1; 
    theLegend.fill = nil; 
    theLegend.borderLineStyle = nil; 
    theLegend.swatchSize = CGSizeMake(10.0, 10.0); 
    theLegend.swatchCornerRadius = 5.0f; 
    // 4 - Add legend to graph 
    graph.legend = theLegend; 
    graph.legendAnchor = CPTRectAnchorLeft; 
    CGFloat viewWidth = self.graphHostingView.bounds.size.width; 
    CGFloat legendPadding = (viewWidth * 0.3) + self.pieChart.pieRadius + (viewWidth * 0.05); 
    graph.legendDisplacement = CGPointMake(legendPadding, 0.0); 
} 

Legend Not Clipping

回答

1

确保图表掩盖其子层。使用masksToBounds剪辑到边界线的外侧或masksToBorder以剪辑到边框的内侧边缘。