0

所以我正在使用 UIImageView 为一组图像制作动画。它有效,但事情正在奇怪地调整大小。我在扩展的 UIImageView 类中初始化所有内容,如下所示:

tImage = [UIImage imageNamed:[NSString stringWithFormat:@"%@.png",tName]];
self = [self initWithImage: tImage];

NSMutableArray *frameArray = [[NSMutableArray alloc] initWithCapacity:0];
UIImage *tFrame;

    for(int i = 1; i < prp.frames + 1; i++) {
        tFrame = [UIImage imageNamed:[NSString stringWithFormat:@"%@%d.png", tName, i]];
        [frameArray addObject:tFrame];
    }

CGRect cropRect = CGRectMake(0.0, 0.0, tFrame.size.width, tFrame.size.height);
self.bounds = cropRect;
[self setContentMode:UIViewContentModeScaleAspectFit];
self.clipsToBounds = YES;

[self setAnimationImages:frameArray];
[self setAnimationDuration:prp.frameDur];
[self startAnimating];

我从自定义属性结构中传递的值在哪里prp.frames和是。prp.frameDur

我遇到的问题是图像的大小在每个阶段都不同。我的源图像都是 59x47。tImage (UIImage) 设置为 46x26(检查 size.width 和 size.height 属性)。tFrame (UIImage) 设置为 53x35(检查相同的属性)。有谁知道为什么会发生这种情况?为什么它不初始化为原始图像大小(59x47),为什么基于它们的两个 UIImage 对象会彼此不同?

4

1 回答 1

0

我自己想通了。我已通过替换将与 tImage 一起使用的源图像从 46x26 大小更改为 59x47(两者之间的图像名称相同)。它仍在使用 46x26 图像,在缓存中或我猜的东西中。我通过清理和重建项目来修复它。一切都很好。所以这可以关闭或其他。

于 2012-11-15T00:21:59.953 回答