我有UIViews的數組,我想他們在格子狀的主視圖安排,我也希望它動畫(即電網應該會出現一個一個慢慢)。在for循環中嘗試了動畫,但沒有工作,但想出了一個更接近我想要的東西,但只是想知道是否有更好的方法來做到這一點。我知道CAAnimationGroup(begintime)有一些屬性,但確定如何將它連接到addtosubview。這裏是我的代碼,讓我知道是否有更好的方法來做到這一點。動畫addtosubview多個子視圖
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
CGFloat x = 0;
CGFloat delay = .3;
for(int i=0;i<30;i++)
{
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(x, 0, 50, 50)];
myView.backgroundColor = [UIColor greenColor];
myView.alpha = 0.0;
x = x + 50+ 2;
[UIView animateWithDuration:0.25 delay:delay options:UIViewAnimationOptionCurveEaseInOut animations:^{
[self.view addSubview:myView];
myView.transform = CGAffineTransformMakeScale(0.5, 0.5);
// myView.transform = CGAffineTransformMakeRotation(90);
} completion:^(BOOL finished) {
[UIView animateWithDuration:.5 animations:^{
myView.transform = CGAffineTransformMakeScale(1.0, 1.0);
myView.alpha = 1.0;
}];
}];
delay = delay + .3;
}
// Do any additional setup after loading the view, typically from a nib.
}
-anoop
它怎麼沒有在循環內工作?你是否嘗試將循環放入動畫塊中,而不是將其包裹起來?這樣你就不會創建多個單一的動畫,而是一個稍微複雜的動畫。 – EmilioPelaez 2012-04-20 02:40:35
如果我試圖把整個循環放在動畫塊中,我不會一個接一個地出現動畫效果,只能一次完成顯示。如果你運行我的代碼,你會知道我想要達到的目標。 – anoop4real 2012-04-20 04:27:19
更新了代碼以添加流暢的動畫,因爲我無法找到更好的方法,所以我將繼續使用此方法。我將等待1-2天,並將其標記爲已回答。 – anoop4real 2012-04-26 01:47:11