1

呼び出される次のメソッドを使用して、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;
}

ばかげた質問かもしれませんが、なぜこの単純な割り算がうまくいかないのでしょうか? 繰り返しますが、これがばかげた質問である場合は申し訳ありませんが、私は困惑しています。少し気が狂いそうです。

どんな助けでも大歓迎です、
よろしく、
マイク

4

3 に答える 3