2012-01-19 40 views
0

我有一個白色箭頭圖像UIImageView。我將它製作成旋轉90度。我也希望UIImageView在旋轉時變成黑色箭頭圖像。從A圖像過渡到B圖像的動畫

我能想到的唯一解決方案是將兩個圖像疊加在一起,在旋轉時改變動畫,並改變白色箭頭圖像的alpha值(使其淡入淡出)。

有沒有更簡單的方法來獲得這種效果?

是否存在過渡效果構建淡出一個圖像和另一個圖像?

+2

這種起草方式將是要走的路。 – Till

+2

你的解決方案有什麼複雜的? – NJones

+0

我只是看到如果有內置的東西會實現相同的效果。我還沒有用很多動畫工作過。 – Padin215

回答

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); 
    }]; 
}