そこで、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) として初期化されないのはなぜですか? また、それらに基づく 2 つの UIImage オブジェクトが互いに異なるのはなぜですか??