我目前正在開發一個iOS應用程序。在應用程序中,我使用uiview animatewithduration從屏幕頂部下降了塊(UIView)。我期待在他們下降的時候,他們會以指數的速度變快。有沒有辦法使用animatewithduration來做到這一點,或者有另一種方法可以達到同樣的效果嗎?animatewithduration指數式得到更快
回答
您可以使用完成塊中的變量來增加持續時間並調用動畫。這將是一種簡單而有效的方式來完成你所要求的。
[UIView animateWithDuration:someVariable animations:^{
// Animation
}
completion:^ (BOOL finished)
{
if (finished) {
// Increment your someVariable here
// Then just call this holding method again
}
}];
但我只是在下一個 – BDGapps
之上添加一個動畫,可能是粒子發射器? https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CAEmitterLayer_class/Reference/Reference.html –
如果你變得非常複雜,我會推薦Cocos2d,因爲它的設計正好適合那些類型的東西,允許更多(更簡單)的功能和優化的性能。 –
您可以使用自定義計時功能的CAAnimations來做到這一點。一個小例子:
CAMediaTimingFunction *timing = [[CAMediaTimingFunction alloc] initWithControlPoints:1 :0.1 :1 :0.9];
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform.translation.y"];
anim.timingFunction = timing;
anim.duration = 0.4;
anim.toValue = [NSNumber numberWithFloat:480];
[view.layer addAnimation:anim forKey:nil];
- 1. UIView animateWithDuration沒有得到執行
- 2. JavaScript settimeout繼續走得更快,更快?
- 3. Python的最快指數方式整數到整數
- 4. JavaScript:requestAnimateFrame獲得更快
- 5. 在Matlab中更快的指數計算
- 6. MySQL的最更快地指數
- 7. 函數指針比內聯函數運行得更快。爲什麼?
- 8. 得到IndexedDB的指數
- 9. Reverse animateWithDuration
- 10. 橫幅JavaScript變得更快
- 11. 如何寫得更快?
- 12. 製作Matplotlib跑得更快
- 13. 使JAXB走得更快
- 14. 讓geoserver運行得更快
- 15. 最快的方式從一個數組對象得到PHP
- 16. 更快找到組合的方式?
- 17. 快捷方式 '更新到HEAD'
- 18. 選擇性獲得卡桑德拉比正常得到更快?
- 19. 指定pysftp文件模式得到
- 20. 更快的方式
- 21. 得到指令
- 22. 便攜式/快速獲取指向Numpy/Numpypy數據的指針
- 23. 添加CSS樣式與獲得([指數])
- 24. UIDynamicAnimator和[UIView animateWithDuration:]
- 25. 中斷animateWithDuration
- 26. animateWithDuration未顯示
- 27. animateWithDuration不可用
- 28. UIView animateWithDuration從
- 29. Collision detection&animateWithDuration
- 30. 角度指令沒有得到更新的控制器數據
如果沒有內置定時功能,滿足您的需求,創建自定義定時CAKeyFrameAnimation。 – Till