代码之家  ›  专栏  ›  技术社区  ›  Alex Reynolds

如何正确地向CPPieChart对象添加核心打印标签/注释?

  •  0
  • Alex Reynolds  · 技术社区  · 15 年前

    我在测试一个 CPPieChart 发现数据源委托方法 -sliceLabelForPieChart:recordIndex:

    此外,没有 title

    所以我想我应该用 UILabel

    UILabel *viewTitle = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 100.0f, 24.0f)];
    viewTitle.text = @"Total Space";
    [hostingView addSubview:viewTitle];
    [viewTitle release];
    

    有趣的是,看起来标签坐标是颠倒的,文本是镜像的:

    alt text

    解决坐标系反转和文本镜像的最佳方法是什么?

    2 回复  |  直到 8 年前
        1
  •  2
  •   Brad Larson    15 年前

    很抱歉。在某个时候,我需要完成该图表类型的实现。

    UILabel被翻转的原因是,我们将核心打印图托管在一个UIView中,该视图反转其层的坐标系。这样做是为了在Mac和iPhone之间为框架保留相同的坐标系(基于正常的Quartz坐标系,其中0,0是左下角)。

    您可以直接向图形层(或显示层次结构中的其他层之一)添加CPTextLayer,而不是向图形添加UILabel。CPTextLayers在核心绘图图的标准坐标空间内运行,因此它们应该正确渲染。

        2
  •  0
  •   Eric Skroch    15 年前

    切片标签没有实现——存在用于定义接口的委托方法,但尚未使用。

    我们最近增加了在图表中添加标题的功能,但不能添加单独的绘图。 iPhone版本的CPTestApp在条形图中添加了一个标题来显示它是如何完成的。