있는 UIImageView의 애니메이션 시스템은 매우 제한적이다. 2 개의 이미지 뷰를 사용하여 직접 구현하는 것이 좋습니다.
당신은 이상에 내가 당신을 위해 방법을 쓴 UIView animateWithDuration
를 사용하여 하나 개의 이미지 뷰의 이미지와 페이드를 변경합니다. 참고 사항 : 나는 그것을 테스트하지 않았습니다.
그것은 당신이 '프레임'이라는 배열에 프레임이 두 UIIMageView
서로 이른바 'imgv1'와 'imgv2'
-(void)performAnimationOfFrameAtIndex:(NSNumber*)indexNum
{
int index = [indexNum intValue];
if(index >= frames.count)
{
return;
}
UIImage *img = [frames objectAtIndex:index];
UIImageView *imgIn;
UIImageView *imgOut;
if(index % 2 == 0)
{
imgIn = imgv1;
imgOut = imgv2;
}
else {
imgIn = imgv2;
imgOut = imgv1;
}
imgIn.image = img;
[self.view sendSubviewToBack:imgIn];
[UIView animateWithDuration:0.1 animations:^{
imgIn.alpha = 1;
imgOut.alpha = 0;
} completion:^(BOOL finished) {
[self performSelectorOnMainThread:@selector(performAnimationOfFrameAtIndex:) withObject:[NSNumber numberWithInt:index+1] waitUntilDone:NO];
}];
}
당신은 내가 100 프레임을 가지고 있다는 것을 의미합니다. 나는 3 개의 이미지 뷰를 사용하고 처음 3 개를 배치 한 다음이 이미지 뷰에서 다음 3 개의 이미지를 교체해야합니다. 조금 더 자세히 설명해 주시겠습니까? – mia
위의 수정 된 답변보기 – EsbenB