我是新手ios程序員&我正在做我的第一個ios項目。在我的項目中,我有幾個UIView
和UIViewController
。在每個視圖中,我都覆蓋了drawRect
方法並繪製了幾個圓圈。在我看來,我需要繪製一個矩形,當我觸摸它時,它會在動畫下面繪製另外3個矩形。我想知道做什麼是最好的方法!我正在考慮通過調用setNeedsDisplay
重新繪製視圖,並用動畫繪製其他三個矩形。我怎樣才能實現這一點,還有什麼方法最適合用動畫來執行這個特定的事情?用動畫重繪UIView
1
A
回答
1
覆蓋drawRect可能不是您的最佳解決方案,因爲要完成許多類型的動畫,您需要在定時器下多次重繪動畫。除此之外,您的繪圖將使用CPU完成,您將無法利用任何硬件加速。
我建議,在三個新的矩形可見之前,你應該在這些矩形應該是的地方添加三個UIViews到視圖層次結構。設置每個視圖你想要矩形的顏色的backgroundColor
財產和每個視圖的alpha
值設置爲0。當它的時間以動畫的矩形眼簾,你就可以使用這樣的代碼:
[UIView animateWithDuration:0.2 animations:^{
rectView1.alpha = 1.0;
rectView2.alpha = 1.0;
rectView3.alpha = 1.0;
}];
當然,更改動畫的持續時間以適合您的應用程序,並且您還可以更改rectView的其他屬性。假設你想讓曲柄褪去和從側面飛入。您可以通過在動畫之前調整每個rectView的frame
屬性,然後在動畫塊內部完成該操作。
相關問題
- 1. 用淡出動畫重繪UIView?
- 2. 基於UIView塊的動畫重繪
- 3. 使用UIView或CALayer繪圖和動畫?
- 4. 的UIView重繪
- 5. 在UIView中動畫繪製線條
- 6. 上的UIView繪製圖形動畫
- 7. 可重複使用的UIView動畫
- 8. 在UIView動畫時重新啓動UIPanGestureRecognizer
- 9. 如何重新啓動UIView動畫
- 10. 用UIView繪製漸變畫()用swift
- 11. 使用uiview動畫時使用uiview動畫
- 12. 用動畫滑動UIView
- 13. UIView動畫沒有動畫
- 14. iOS,Xamarin,UIView,繪製,動態動畫不起作用
- 15. 重繪動畫Seaborn數字
- 16. 重疊可繪製動畫
- 17. UIView動畫
- 18. 動畫UIView frame.origin
- 19. UIView動畫annomily
- 20. uiview動畫
- 21. Swift UIView動畫
- 22. 動畫的UIView
- 23. UIView動畫
- 24. UIView的動畫
- 25. 如何繪製/重繪/動畫(MVC)
- 26. UIView動畫不尊重延遲?
- 27. presentViewController重置所有的UIView動畫
- 28. UIView動畫不重複/突然停止
- 29. 停止重複UIView動畫塊?
- 30. UIView動畫:如何重置位置
偉大的解決方案。但我有一些問題.. *我應該在這種情況下需要使用'setneedsdisplay'嗎?並且可以在沒有首次調用這三個'uiview'的情況下聲明這三個'uiview' – sujat
當你想強制一個視圖用drawRect重繪時,你需要調用setNeedsDisplay,但是如果你只是操縱視圖的子視圖,那麼你可以*不*需要重繪父視圖,實際上調用setNeedsDisplay可能會損害程序的性能。 –
非常感謝。希望這將有助於完成我的任務.... – sujat