代码之家  ›  专栏  ›  技术社区  ›  Grouchal

如何删除核心绘图图周围的边框

  •  24
  • Grouchal  · 技术社区  · 15 年前

    我正试图去除iPhone核心情节图周围的边界,但似乎在我头脑中的简单问题上苦苦挣扎。

    请指点!

    7 回复  |  直到 10 年前
        1
  •  78
  •   RickDT    14 年前

    您应该能够消除图的plotarea上的borderlinestyle以删除边框:

    graph.plotAreaFrame.borderLineStyle = nil;    // don't draw a border
    

    您也可以创建自己的主题,使用框架中的主题作为示例,而不必在其中设置borderlinestyle。

        2
  •  8
  •   Git.Coach    12 年前

    所有的答案对我都不起作用。这样做的目的是:

    graph.paddingLeft = 0;
    graph.paddingRight = 0;
    graph.paddingTop = 0;
    graph.paddingBottom = 0;
    graph.plotAreaFrame.borderWidth = 0;
    graph.plotAreaFrame.cornerRadius = 0;
    
        3
  •  4
  •   Grouchal    15 年前

    好吧,我知道怎么做了-真的很简单!

    CPLineStyle *borderLineStyle = [CPLineStyle lineStyle];
    borderLineStyle.lineColor = [CPColor whiteColor];
    borderLineStyle.lineWidth = 1.0;
    
    graph.plotArea.borderLineStyle = borderLineStyle;
    

    其中graph是你的图形对象——我之所以有一个边界,首先是因为我使用了cpplainwhitetheme。

    希望这能帮助别人-有更好的方法吗?

        4
  •  1
  •   Eric Skroch    15 年前

    可以将任何线条样式设置为 nil . 这将导致线条根本无法绘制。

        5
  •  1
  •   Casey J. O'Brien    13 年前

    在Coreplot 1.0中, CPTGraph 有点变化。删除图形边框线的代码,假定 graph 属于类型 GPTGraph CTP图

    graph.plotAreaFrame.borderLineStyle = nil;
    
        6
  •  1
  •   Ricardo    10 年前

    应用后borderlinestyle=nil的正确方式:

    CPTGraph *graph = [[CPTXYGraph alloc] initWithFrame:hostView.bounds];
    
    // Set padding for plot area
    [graph applyTheme:[CPTTheme themeNamed:kCPTPlainWhiteTheme]];
    graph.plotAreaFrame.borderLineStyle = nil;
    
        7
  •  1
  •   Community CDub    8 年前

    如果像我一样,您不仅要删除边界线,而且要绘制占用整个宿主视图的绘图,则 answer Thomas Johannesmeyer 让我走上正轨。

    我是这样做的:

    CPTGraphHostingView* hostingView = [[CPTGraphHostingView alloc] initWithFrame: frame];
    CGRect bounds = hostingView.bounds;
    
    CPTGraph *graph = [[CPTXYGraph alloc] initWithFrame:bounds];
    hostingView.hostedGraph     = graph;
    
    graph.paddingTop    = CPTFloat(0.0);
    graph.paddingRight  = CPTFloat(0.0);
    graph.paddingBottom = CPTFloat(0.0);
    graph.paddingLeft   = CPTFloat(0.0);
    
    graph.plotAreaFrame.paddingTop    = CPTFloat(0.0);
    graph.plotAreaFrame.paddingRight  = CPTFloat(0.0);
    graph.plotAreaFrame.paddingBottom = CPTFloat(0.0);
    graph.plotAreaFrame.paddingLeft   = CPTFloat(0.0);
    graph.plotAreaFrame.masksToBorder = NO;
    
    CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet;
    CPTXYAxis *x          = axisSet.xAxis;
    x.labelingPolicy      = CPTAxisLabelingPolicyNone;
    x.title = nil;
    CPTXYAxis *y          = axisSet.yAxis;
    y.labelingPolicy      = CPTAxisLabelingPolicyNone;
    y.title = nil;