我在我的nib文件中绘制了UIImageView,它连接到了一个imageView iboutlet。我可以加载单张图片,这些图片会很好地显示,但是当像动画一样分别绘制许多图像时,图像将无法显示。我有drawImage()函数,它接受NSData对象(图像数据)并将其绘制到屏幕(imageView)。
主函数有for循环,它尽可能快地循环300次,每次调用drawImage函数并将不同的图像数据传递给它。有时,当我执行此代码时,来自该“动画”的最后一张图片显示,有时根本不显示。也许我需要为imageView安排足够的时间才能显示图像?
希望有人有一些线索。提前谢谢!
答案 0 :(得分:0)
尝试类似
的内容// create the view that will execute our animation
UIImageView* ImageView = [[UIImageView alloc] initWithFrame:self.view.frame];
// load all the frames of our animation
ImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"1.png"],
[UIImage imageNamed:@"2.png"],
[UIImage imageNamed:@"3.png"],
nil];
// all frames will execute in 1.75 seconds
ImageView.animationDuration = 1.75;
// repeat the annimation forever
ImageView.animationRepeatCount = 0;
// start animating
[ImageView startAnimating];
// add the animation view to the main window
[self.view addSubview:ImageView];
答案 1 :(得分:0)
这就是它的神奇之处:
[self.imageView performSelectorInBackground:@selector(setImage:)
withObject:imageData];
感谢您的帮助! :)