1つのImageViewをフェードイン/フェードアウトしようとしている7つの画像があります。すべての画像を配列に保存し、各画像を表示して次の画像にフェードインするループがありますが、プログラムを実行すると、最後の2つの画像のみが表示されます。これがなぜであるかについてのアイデアはありますか?そしてそれを修正する方法は?コードは以下のとおりです。
imageArray = [NSArray arrayWithObjects:
[UIImage imageNamed:@"image 0.jpg"],
[UIImage imageNamed:@"image 1.jpg"],
[UIImage imageNamed:@"image 2.jpg"],
[UIImage imageNamed:@"image 3.jpg"],
[UIImage imageNamed:@"image 4.jpg"],
[UIImage imageNamed:@"image 5.jpg"],
[UIImage imageNamed:@"image 6.jpg"],
nil];
self.imageview.backgroundColor = [UIColor blackColor];
self.imageview.clipsToBounds = YES;
int count = [imageArray count];
for (int i = 0; i <count-1 ; i++)
{
UIImage *currentImage = [imageArray objectAtIndex: i];
UIImage *nextImage = [imageArray objectAtIndex: i +1];
self.imageview.image = [imageArray objectAtIndex: i];
[self.view addSubview:self.imageview];
CABasicAnimation *crossFade = [CABasicAnimation animationWithKeyPath:@"contents"];
crossFade.duration = 5.0;
crossFade.fromValue = (__bridge id)(currentImage.CGImage);
crossFade.toValue = (__bridge id)(nextImage.CGImage);
[self.imageview.layer addAnimation:crossFade forKey:@"animateContents"];
self.imageview.image = nextImage;
};