gpt4 book ai didi

ios - iOS中的动画分离

转载 作者:行者123 更新时间:2023-12-01 18:30:36 24 4
gpt4 key购买 nike

我有一个带有简单UIView的应用程序。在此UIImageViews上存在一个UIview的矩阵NxN。

我想打开每个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);),然后实现动画。

如何避免第一次旋转并仅实现动画?

最佳答案

尝试为每个UIImageView动画设置延迟:

[UIView setAnimationDelay:delay];

如果您在每个循环之后增加延迟的持续时间,您将获得所需的效果。

关于ios - iOS中的动画分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9348236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com