我正在尝试通过传递进度指示器(Double),在指定的时间内连续调用函数,使该指示器从0变为1。在Swift中是否有一种“动画”这种从0到1的变化的方法?
更新: 以下是我根据https://github.com/danielgindi/ios-charts更新饼图数据的代码。
我想要做的是对两个数据集之间的变化进行动画处理,变化的进度会反映在“progress”参数中。我需要不断调用该函数,直到“progress”等于1。
更新: 以下是我根据https://github.com/danielgindi/ios-charts更新饼图数据的代码。
internal func animateDataChange(fromDataSet: PieChartDataSet, toDataSet: PieChartDataSet, progress: Double) -> PieChartDataSet {
var dataEntries: [ChartDataEntry] = []
for i in 0..<fromDataSet.yVals.count {
let yValue = (toDataSet.yVals[i].value - fromDataSet.yVals[i].value) * progress + fromDataSet.yVals[i].value
let dataEntry = ChartDataEntry(value: yValue, xIndex: i)
dataEntries.append(dataEntry)
}
let animatedDataSet = PieChartDataSet(yVals: dataEntries, label: "")
return animatedDataSet
}
我想要做的是对两个数据集之间的变化进行动画处理,变化的进度会反映在“progress”参数中。我需要不断调用该函数,直到“progress”等于1。