【问题标题】:Is it possible to add CPTLegend in UIview not a CPTGraphHostingView?是否可以在 UIview 中添加 CPTLegend 而不是 CPTGraphHostingView?
【发布时间】:2016-05-17 12:47:19
【问题描述】:

我正在尝试在 uiview 中添加 CPTLegend,我该如何添加。基本上很多人在 Graph 托管视图中添加。有什么想法吗?

【问题讨论】:

    标签: ios core-plot pie-chart


    【解决方案1】:

    Core Plot 图形的所有可见部分,包括图例(由CPTLegend 绘制),都是派生自公共超类CPTLayer 的Core Animation 层。这些层依赖于托管视图来设置坐标转换和事件处理以及处理布局更改。

    为什么需要一个不附加到图表的图例? CPTLegend 依靠绘图来确定图例的内容并实际绘制它。这些图通常是图表的一部分,因此您应该有一个可用作图例的宿主。

    放大托管视图以覆盖饼图和图例应出现的整个区域。更改饼图的centerAnchor,使其远离托管视图的中心,并将图例放置在图表的另一侧。分隔视图可以放置在托管视图的顶部,以将绘图与图例分开。请注意,Core Animation 托管视图不允许子视图,因此它必须是托管视图的兄弟(即具有相同的父视图),而不是子视图。

    【讨论】:

    • 在我的设计中,左侧 PieChart 显示,中间一行分隔符显示,右侧 CPTLegend 需要显示。在这种情况下,中间线绘制不正确。
    • 你是怎么画分隔线的?
    • 怎么样?是自定义视图吗?
    • self.lineView = [[UIView alloc]initWithFrame:CGRectMake(graphView.frame.size.width / 1.8, graphView.frame.origin.y + 30, 2, totalHeight - 60)];
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 2013-06-28
    • 1970-01-01
    相关资源
    最近更新 更多