倒計時功能,我可以使用CAShapeLayer
和UIBezierPath
畫圓,我也可以使用此屬性CAShapeLayer.strokeEnd
來控制進度。但是,快速滾動的路徑和時間,我不知道如何實施。
現在我認爲這種方法是計算兩者之間的時間差,然後用時差來循環。
例如,兩者的時間差是1000秒,我是否應該設置strokeEnd和Label 1000的中間週期?或者說實現好的結果呢?
在此先感謝!
倒計時功能,我可以使用CAShapeLayer
和UIBezierPath
畫圓,我也可以使用此屬性CAShapeLayer.strokeEnd
來控制進度。但是,快速滾動的路徑和時間,我不知道如何實施。
現在我認爲這種方法是計算兩者之間的時間差,然後用時差來循環。
例如,兩者的時間差是1000秒,我是否應該設置strokeEnd和Label 1000的中間週期?或者說實現好的結果呢?
在此先感謝!
注:StrokeEnd接受值
0 - 1
之間
可以說, 見你的情況圓圈表示的剩餘時間,將採取新出現飼料。可以說下午3點。
所以15:00將是您nextFeedTime = 3PM
和, 你12PM所以feedTime = 12PM
得到這個飼料。
所以,現在你將有開始和feedTime=12PM - nextFeedTime=3PM
終值那麼feedTime
是0
爲strokeEnd
和nextFeedTime
是1
爲StrokeEnd。
當您打開應用程序,你會得到currentTime
其最初初始化與feedTime
以後將全部換成了時間和當前時間戳。我們假設currentTime
是1 PM
。
現在,我們可以計算出比動畫strockEnd
財產
strokeEnd = currentTime/nextFeedTime
,並相應動畫strokeEnd。希望這會幫助你!
謝謝,我用CABasicAnimation來實現這個效果,但是效果數字在gif中快速滾動如何實現? –
爲此,您可以在動畫進度上設置文字 – amorbytes