分離我有一個應用程序用一個簡單的UIView
。在此UIview
上有一個矩陣NxN UIImageViews
。動畫中的iOS
我想將每個UIImageView的。但一個接一個。我試過這個代碼:
for (int k=0; k<kol; k++)
for (int l=0; l<kol; l++)
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
int posTo = pole[k][l].position ;
pole[k][l].position++;
if (posTo == 4) {posTo=0; pole[k][l].position=1;}
pole[k][l].imageView.transform = CGAffineTransformMakeRotation(1.57079633*posTo);
[UIView commitAnimations];
}
但是所有圖像都在同一時間旋轉。
我應該如何分開這個動畫?
UPD
現在,我使用此代碼對更復雜的動畫:
-(void) turnAllPole
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
[UIView setAnimationDelay:delay];
for (int k=0; k<kol; k++)
for (int l=0; l<kol; l++)
{
if (poleBeforeTurn[k][l] == 1)
{
int posTo = pole[k][l].position ;
pole[k][l].position++;
if (posTo == 4) {posTo=0; pole[k][l].position=1;}
pole[k][l].imageView.transform = CGAffineTransformMakeRotation(1.57079633*posTo);
}
}
[UIView commitAnimations];
delay += 0.3;
}
這對一些矩陣」部分(其中poleBeforeTurn[k][l] == 1
)的同步旋轉。但是這個代碼首先一次旋轉所有部分(就像我在沒有動畫的循環中使用pole[k][l].imageView.transform = CGAffineTransformMakeRotation(1.57079633*posTo);
一樣),然後執行動畫。
我應該如何避免第一旋轉和僅實現動畫?
[UIView setAnimationDelay:delay];不要在動畫之間導致達拉,而只能在所有動畫之前導致達拉 – 2012-02-19 10:29:08
是的,這就是爲什麼你在每次循環後增加延遲(例如delay + = 0.2)。所以每個動畫都有不同的延遲。我沒有時間去嘗試,但我認爲這應該起作用。 – joern 2012-02-19 11:28:19
是=)我使用了不同的延遲。請查看upd – 2012-02-19 12:28:22