繁体   English   中英

在iOS图表上显示条形图的最后一项

[英]Display last items of a bar chart on iOS-charts

我有一个包含100个项目的条形图。 我一次只显示10个,我启用了滚动功能。 一切都很好,但我想显示图表的结尾而不是开头(新数据)。 唯一的方法是在viewDidAppear中使用moveViewToX函数。

问题是图形首先显示并在开始时设置动画,然后结束,这不是很漂亮。 如何直接在正确的位置显示图表?

(当我将moveViewToX函数移动到viewDidAppear以外的地方时,它不起作用)。

谢谢 :)

通过将moveViewToX函数调用延迟0.1秒解决了同样的问题

func viewDidLoad() {
    // ... 

    let when = DispatchTime.now() + 0.1
    DispatchQueue.main.asyncAfter(deadline: when) {
        chartView.moveViewToX(lastXAxisValue)
    }
}

我在github上看到了你的问题,所以请不要复制它。

我猜是因为你将moveViewToX放在viewDidAppear ,它与图表渲染处于异步模式,所以你无法控制它。

要回答你的问题,我无法给你确切的解决方案,但我可以提供一些方法来尝试:

  1. 子类图表视图,在图表视图代码中的某处调用moveViewToX(),就像drawRect()的最后一行一样,看它是否有效;

  2. 如果您熟悉ChartViewPortHandlerChartViewPortHandler有一个名为refresh的方法,只要您知道如何使用矩阵,它应该能够导航到任何地方。 看看这篇文章: https//github.com/danielgindi/ios-charts/issues/226

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM