2013-05-29 12 views
1

我使用UIView動畫製作了Wiered但不奇怪的動畫,我不知道它是否通過使用CALayer動畫工作。我想是的。如何通過iPhone中的UIView動畫製作帶有右帽的單槓動畫

請看這張圖:我要的是動畫單槓水平不斷增長,我做的是:

子類的UIView,叫UIViewBar,並在其drawRect中:矩形的方法,我畫的形狀矩形和右蓋,它是由

CGContextMoveToPoint A 
CGcontextAddLineToPoint B 
CGContextAddArcToPoint D 
CGContextAddLineToPoint C 
//then close the path and fill the context 

做到,那麼我把這種UIViewBar:在我的UIViewController(initWithFrame RECT),形狀是我想要的東西,看起來不錯。 但是當我執行[UIView動畫]說從原始rectrectGrew它表現不佳。相反,它的表現如圖所示。

好吧,經過思考,這並不是完全不合理的,因爲當UIView水平延伸時,它不知道帽子是否會改變。那麼還有另一種方法來做到這一點?

enter image description here

其實,我很新的繪圖,圖形和動畫。我所知道的是,(如有錯誤請您指正):

  1. 如果我想「畫什麼」,我應該重寫了UIView的drawRect方法,這是由INITING UIView的做,不應該或者最好不要在外面打電話。假設我通過CGContextFillRect在UIView中繪製了一個矩形.....
  2. 但是如果我想爲這個矩形設置動畫呢?我不能製作基於Quartz2D的動畫,但是從UIView動畫或CALayer(深層技術)製作動畫,所以我需要做的就是將矩形本身分割爲單獨的UIViewRect,所以我可以調用[UIViewRect動畫]方法,上午AM我對此有所瞭解
  3. 如果是這樣,我必須將每個想要動畫的矩形分別製作爲UIView。它不影響性能嗎?或者它只是蘋果喜歡做的方式?

任何建議將大有裨益,非常感謝。

+0

順便說一句,行BD不應該存在,我不知道如何刪除它在Illustrator .....請忽略它 – JimZ

回答

0

哇,這是第一次根本沒有回覆!回答我的問題:它需要考慮CALayer的動畫定製屬性。自定義屬性是AB寬度(沒有寬度的寬度,這應該工作)。如果有人想要詳細的代碼。請在CALayer中爲google定製屬性動畫。