使用数组的ios imageview动画会导致semaphore_wait_trap

时间:2016-02-09 19:37:30

标签: ios animation imageview

我正在尝试通过为imageview提供一系列图像来为其设置动画。这些图像是从具有大量图像的spritesheet中一个接一个地提取出来的。

这是我的代码:

-(NSMutableArray*)getIndividualImagesFromImage:(UIImage*)collectionOfEmoticonImages

{

NSMutableArray *imagesArray = [[NSMutableArray alloc] init];

//Let's find out the total number of images in this big image
int totalEmoticonImages = collectionOfEmoticonImages.size.width/WIDTH_HEIGHT_OF_EMOTICONS;

for(int emoticonIndex = 0; emoticonIndex < totalEmoticonImages; emoticonIndex++)
{
    //crop the image at each index and put smaller images in the array
    UIImage *croppedImage = [[UIImage alloc] init];
    croppedImage = [self cropImage:collectionOfEmoticonImages atIndex:emoticonIndex];
    [imagesArray addObject:croppedImage];
}

return imagesArray;

}

-(void)getEmoticonImageViewAnimating:(NSInteger)index
{
    imagesArray = [self getIndividualImagesFromImage:[emoticonsPNGImages objectAtIndex:index]];

    //Animate using the images in imagesArray
    emoImageView.animationImages = [NSArray arrayWithArray:imagesArray];
    emoImageView.animationDuration = 2;
    emoImageView.animationRepeatCount = 1;

    [emoImageView startAnimating];
    [self performSelector:@selector(animationDidFinish) withObject:nil
           afterDelay:emoImageView.animationDuration];
}

如果我评论[emoImageView startAnimating],一切正常;线。但是有了这个声明,动画可以正常工作6次,但是在第7次尝试运行时我得到了semaphore_wait_trap。

任何指针?

0 个答案:

没有答案