我正在制作一个动画,反复调用这个函数,所以我可以制作一个动画:
我遇到问题的方法是UIImageView的子类Class
的方法 @interface MyCustomImageView : UIImageView {
&安培;它是以下内容:
- (void) animationShowFrame: (NSInteger) frame {
NSLog(@"frame: %d", frame);
if ((frame >= animationNumFrames) || (frame < 0))
return;
NSData *data = [animationData objectAtIndex:frame];
UIImage *img = [UIImage imageWithData:data];
NSLog(@"%@",img);
NSLog(@"data: %d", [data length]);
[self setImage:img];
}
问题在于,看起来第一张图像是完美设置的,但其余部分都被忽略了...... NSLogging他我可以看到图像在那里&amp;每次数据都是不同的,所以,它们加载好了,即使我试图通过UIImageView&amp;和我自己(该类是UIImageView的孩子)添加子视图。他们正在展示,但这不是因为在这种情况下,我使用了太多的记忆...... 在控制台中询问说明,设置后我可以看到self.image = nil ... 我不知道我还能做些什么,这让我发疯了。
答案 0 :(得分:4)
尝试将UIView子类化为UIImageView,并将UIImageView创建为内部属性。
@interface CustomView : UIView {
UIImageView *imageView;
然后,在animationShowFrame中使用那个imageView:
- (void) animationShowFrame: (NSInteger) frame {
NSData *data = [animationData objectAtIndex:frame];
UIImage *img = [UIImage imageWithData:data];
[self.imageView setImage:img];
}
希望它有所帮助!