我想从 URL 加载图像,然后将它们分配为不同 UIButtons 的背景图像。当视图出现时,我需要这样做。
我的问题是,当我尝试使图像在加载时淡入时,动画直到所有图像都加载完毕后才开始。我认为这是因为动画代码已被读取,但在它有时间执行之前,程序开始加载新图像。
如何让图像一个接一个地淡入淡出?
以下代码用于获取图像(调用 downloadImageByPrice atURL),然后执行动画。
-(void) obtainImage:(int)i atURL:(NSString *)URLString{
UIImage *image = [self downloadImageByPrice:i atURL:URLString];
// Make images fade in when they have been found
[[_buttonArray objectAtIndex:i] setAlpha:0.0];
[[_buttonArray objectAtIndex:i] setImage:image forState:UIControlStateNormal];
[UIView beginAnimations:@"fadeIn" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.8];
[[_buttonArray objectAtIndex:i] setAlpha:1.0];
[UIView commitAnimations];
}
此方法用于一个接一个地加载所有图像。我希望我的循环等到每个图像都出现后再开始加载下一个。
-(void) loadAllImagesAtURL:(NSString *)URLString{
for(int i =0; i<[_buttonArray count];i++){
[self obtainImage:i atURL:URLString];
}
}
我试过使用选择器,或者没有运气的完成^方法,但我对这些概念的理解仍然很低。
谢谢