objective-c - UIImageView setImage 不起作用

标签 objective-c image uiimageview uiimage

我正在制作一个重复调用此函数的动画,以便我可以制作动画:

我遇到问题的方法是 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 它们我可以看到图像在那里并且数据每次都不同,因此,它们加载正常,即使我尝试通过 UIImageView 将 addSubview 添加到自身(该类是 UIImageView 的子级),并且它们正在显示,但是这个不是这样,因为在这种情况下我使用了太多内存...... 在控制台中询问描述,我可以看到设置后 self.image = nil ... 我不知道我还能用这个做什么,这让我发疯。

最佳答案

尝试子类化为 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];
}

希望对你有帮助!

关于objective-c - UIImageView setImage 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9315106/

相关文章:

objective-c - 循环提示是或否?

wordpress - 从肖像缩略图生成方形图像

Imagemagick 比例和图像质量

ios - 如何在 iOS 9 中从 Live Photo 获取单张图像

ios - 为什么 UIView 在 offsetBy 上向右移动

ios - 无法移动 UIImageView

ios - 在 Sprite-Kit 中滚动 Tilemap(JSTileMap 故障)

iOS 在设备注册推送通知后获取设备 token ?

iPhone 检查固件版本

iphone - 如何为iPhone制作部分透明的png图像按钮?