2013-10-23 38 views
-1

我有更多的通用問題。我有一個自定義類,它的子類爲UIView。我重寫'-drawRect'以在我成功完成的一行中繪製點。現在我在我的類中聲明另一個UIView對象,我想要動畫。它應該是一個白色的圓形輪廓,我想用動畫移動,這就是爲什麼我希望它的類型爲UIView。但是我怎麼能在裏面畫畫呢?如果我還有其他3個類似的案例呢?所以我的觀點是,我想保留組件類中的所有功能,併爲一個或多個子視圖定製一個或多個繪圖。我想我在概念層面上失去了一些東西。在UIView子類的子視圖內繪製

在ActionScript 3我會做這樣:

var first:MovieClip = new MovieClip(); 
first.graphics... 
...... 
var nTh:MovieClip = new MovieClip(); 
nTh.graphics... 

這是我想達到什麼樣的(正如我說我已經做了點的圖件內-drawRect,現在我想要做的更大的圈子,必須稍後動畫): example

+0

你可以嘗試把繪圖代碼與動畫塊[UIView animationWithDuration:0.25動畫^ {{//在此處繪製代碼}];我不知道這是否會起作用,但它可以幫助你 –

回答

1

經過幾天的鬥爭和幾周沒有我的筆記本電腦,我決定回來告訴你我是如何解決我的問題的。如果這有助於某人,我會很高興。 它似乎是一個非常簡單的解決方案,甚至沒有-drawRect的麻煩。我所做的是建立一個UIView的實例,並設置其邊界和位置-initWithFrame:

//circleFrameSideSize will serve as the diameter of the circle 
UIView *circle = [[UIView alloc] initWithFrame:CGRectMake(0, circleYPos, circleFrameSideSize, circleFrameSideSize)]; 
circle.layer.borderColor = [UIColor whiteColor].CGColor; 
circle.layer.borderWidth = 1; 
//here we do the trick for making the circle with using layer's corner radius 
circle.layer.cornerRadius = circleFrameSideSize/2; 
[self addSubview:circle]; 

因此,這是它。每次我需要像矩形或圓圈這樣的數字時,我都會使用這種方法。

PS:我不明白爲什麼我收到的東西,我已經奮鬥了這麼久,給它一個很好的說明向下票..