[英]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
,它与图表渲染处于异步模式,所以你无法控制它。
要回答你的问题,我无法给你确切的解决方案,但我可以提供一些方法来尝试:
子类图表视图,在图表视图代码中的某处调用moveViewToX(),就像drawRect()
的最后一行一样,看它是否有效;
如果您熟悉ChartViewPortHandler
, ChartViewPortHandler
有一个名为refresh
的方法,只要您知道如何使用矩阵,它应该能够导航到任何地方。 看看这篇文章: https : //github.com/danielgindi/ios-charts/issues/226
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.