如何实现雅虎APP新闻摘要等倒计时功能

时间:2016-07-22 08:54:32

标签: ios

countdonw gif countdownView

我可以使用CAShapeLayerUIBezierPath绘制圆圈,我也可以使用此属性CAShapeLayer.strokeEnd来控制进度。但是路径和时间的快速滚动,我不知道如何实现。

现在我认为方法是计算两者之间的时差,然后用时差来循环。

例如,两者之间的时差是1000秒,我是否必须设置strokeEnd和Label 1000循环的中间?或者实现良好的结果呢?

提前感谢!

1 个答案:

答案 0 :(得分:2)

  

注意: StrokeEnd接受0 - 1

之间的值

让我们说, 在您的案例中查看圆圈表示显示新Feed所需的剩余时间。让我们说 3PM。

所以下午3点将是您的nextFeedTime = 3PM, 你在 12PM 所以feedTime = 12PM得到了这个Feed。

现在您将拥有feedTime=12PM - nextFeedTime=3PM

的起点和终点值

feedTime 0 strokeEndnextFeedTime,而{1}} {1}}为{1}}。

当您打开应用程序时,您将获得1,该currentTime最初使用feedTime进行初始化,之后将使用当前时间戳一直更换。

假设currentTime1 PM

现在我们可以计算动画strockEnd属性

的比率

strokeEnd = currentTime / nextFeedTime

并相应地设置动画strokeEnd。希望这会对你有所帮助!