呼び出される次のメソッドを使用して、UITableViewCell と UIImageView の適切な高さを計算しようとしています。
-(void)ratioCalculator
{
picH = image.size.height;
picW = image.size.width;
NSLog(@"%d = width %d = height", picW, picH);
picRatio = (picW/picH);
NSLog(@"%F", picRatio);
imageViewH = (260/picRatio);
NSLog(@"%d int", imageViewH);
return;
}
問題は、呼び出されたときにpicRatio = (picW/picH);
、コンソールに次のように表示されているように見えないことです。
2012-11-18 21:56:48.787 Name[5374:c07] 640 = width 360 = height
2012-11-18 21:56:48.788 Name[5374:c07] 1.000000
2012-11-18 21:56:48.788 Name[5374:c07] 260 int
1.000000 は floatpicRatio
で、260 はimageViewH
. 明らかにこれは、次のように計算される UITableViewCell と UIImageView の両方に不適切な高さが使用されることを意味します。
else {
[self ratioCalculator];
return (imageViewH + 20);
}
と
- (void)showImage:(UIImage *)theImage
{
self.imageView.image = theImage;
self.imageView.hidden = NO;
[self ratioCalculator];
self.imageView.frame = CGRectMake(10, 10, 260, imageViewH);
self.photoLabel.hidden = YES;
}
ばかげた質問かもしれませんが、なぜこの単純な割り算がうまくいかないのでしょうか? 繰り返しますが、これがばかげた質問である場合は申し訳ありませんが、私は困惑しています。少し気が狂いそうです。
どんな助けでも大歓迎です、
よろしく、
マイク