我有UIImageView
的白色箭头图像。我动画它旋转90度。我还希望UIImageView
在旋转时更改为黑色箭头图像。
我能想到的唯一解决方案是将两个图像叠加在一起,在旋转时动画两者并更改白色箭头图像的alpha(因此它会淡入淡出)。
有没有更简单的方法来获得这种效果?
是否存在转换效果的构建以淡出一个图像和另一个图像?
答案 0 :(得分:1)
你似乎很清楚该怎么做。可能最简单的可重复方法是创建一个UIView
子类并将两个箭头添加到它中。然后添加几个这样的函数。
-(void)rotate90{
blackArrow.alpha = 0;
[self bringSubviewToFront:blackArrow];
[UIView animateWithDuration:1 animations:^{
blackArrow.alpha = 1;
blackArrow.transform = CGAffineTransformMakeRotation(M_PI_2);
whiteArrow.transform = CGAffineTransformMakeRotation(M_PI_2);
}];
}
-(void)rotate0{
whiteArrow.alpha = 0;
[self bringSubviewToFront:whiteArrow];
[UIView animateWithDuration:1 animations:^{
whiteArrow.alpha = 1;
blackArrow.transform = CGAffineTransformMakeRotation(0);
whiteArrow.transform = CGAffineTransformMakeRotation(0);
}];
}