在iOS图表上显示条形图的最后项目
我有一张有100个项目的条形图。我一次只显示10个,并且启用了滚动。 一切都很好,但我希望显示图表的结尾,而不是开头(新数据)。 唯一的方法是在ViewDidDisplay中使用moveViewToX函数 问题是,图形首先在开始时显示并设置动画,然后转到结尾,这不是很漂亮。 如何在正确的位置直接显示图形 (当我将moveViewToX函数移到ViewDid以外的其他位置时,它似乎不起作用)在iOS图表上显示条形图的最后项目,ios,swift,ios-charts,Ios,Swift,Ios Charts,我有一张有100个项目的条形图。我一次只显示10个,并且启用了滚动。 一切都很好,但我希望显示图表的结尾,而不是开头(新数据)。 唯一的方法是在ViewDidDisplay中使用moveViewToX函数 问题是,图形首先在开始时显示并设置动画,然后转到结尾,这不是很漂亮。 如何在正确的位置直接显示图形 (当我将moveViewToX函数移到ViewDid以外的其他位置时,它似乎不起作用) 谢谢:)我在github上看到了你的问题,所以请不要重复 我猜是因为您将moveViewToX放入view
谢谢:)我在github上看到了你的问题,所以请不要重复 我猜是因为您将
moveViewToX
放入viewdide
中,它与图表呈现处于异步模式,因此您无法控制它
为了回答您的问题,我无法给出确切的解决方案,但我可以提供一些方法供您尝试:
drawRect()
的最后一行,以查看它是否有效ChartViewPortHandler
中有一个名为refresh
的方法,只要您知道如何使用矩阵,它就应该能够导航到任何位置。查看此帖子:通过将moveViewToX函数调用延迟0.1秒解决了相同的问题
func viewDidLoad() {
// ...
let when = DispatchTime.now() + 0.1
DispatchQueue.main.asyncAfter(deadline: when) {
chartView.moveViewToX(lastXAxisValue)
}
}
利奥,谢谢你的变通方案,但在这种情况下,我会在我的图表左边有更大的日期,不幸的是我负担不起。。。