3
有沒有辦法找出它的UIImage的動畫幀?當你啓動它時,你會給它一個animationImages數組,所以顯然必須在某處存儲當前圖像的索引。你知道我怎麼能找到這個?此外,有沒有辦法告訴UIImageView哪個框架開始動畫?確定UIImageView顯示哪個animationImages?
有沒有辦法找出它的UIImage的動畫幀?當你啓動它時,你會給它一個animationImages數組,所以顯然必須在某處存儲當前圖像的索引。你知道我怎麼能找到這個?此外,有沒有辦法告訴UIImageView哪個框架開始動畫?確定UIImageView顯示哪個animationImages?
我找不到無論是文檔的屬性,也不類傾銷後的UIKit可疑伊娃或私有方法,所以最好我能想到的是:
NSDate *startDate; // instance variable
- (void)startAnimation
{
startDate = [NSDate date];
[imageView startAnimating];
}
- (int)currentImageIndex
{
NSTimeInterval elapsed = -1 * [startDate timeIntervalSinceNow];
int nFrames = imageView.animationImages.count;
NSTimeInterval frameDuration = imageView.animationDuration/nFrames;
int current = elapsed/frameDuration;
return current % nFrames;
}
至於如何啓動在特定圖像上的動畫:使用NSMutableArray
來存儲圖像,並旋轉陣列以使其第一個元素是您想要開始的圖像,然後重新設置圖像視圖的animationImages
屬性。要旋轉NSMutableArray
,請參閱this question的答案。