aspectfitmode
の正確な画像サイズにUIImageView
のサイズを変更したいのですが、アスペクトフィットモードに伴う余分なスペースはありません。アスペクトに合ったtableviewcellのuiimageviewのサイズを変更するにはどうすればいいですか?
また、画像を表示する際にグリッチが発生しないように、このサイズ変更を行うにはどうすればよいですか?UITableViewCells
?
aspectfitmode
の正確な画像サイズにUIImageView
のサイズを変更したいのですが、アスペクトフィットモードに伴う余分なスペースはありません。アスペクトに合ったtableviewcellのuiimageviewのサイズを変更するにはどうすればいいですか?
また、画像を表示する際にグリッチが発生しないように、このサイズ変更を行うにはどうすればよいですか?UITableViewCells
?
あなたはIBOutLetプロパティとしてUIImageViewの高さ制約があり、その後、UIImageのアスペクト比スケールの高さを計算する必要があります。それに基づいて制約定数を設定します。
float ratio = SCREEN_WIDTH/width;
float scaledHeight = height * ratio;
//float scaledWidth = width * ratio; uncomment if required
//Should not exceed the Screen size to make the image visible at a time without scrolling.
if (scaledHeight > SCREEN_HEIGHT) {
scaledHeight = SCREEN_HEIGHT;
}
cell.imageHeightConstraint.constant = scaledHeight;
UIImage img = [UIImage imageNamed:@"ABC.jpg"];
[imageView setImage:img];
imageView.frame = CGRectMake(imageView.frame.origin.x, imageView.frame.origin.y,
img.size.width, img.size.height);
cell.imageHeightConstraint.constantとは何ですか? – farhan
これはUIImageViewの高さの制約です。IBOutlet –
はい、私はそれを理解しました。imageHeightConstraintを設定すると、テーブルをスクロールするまで、すべてのセルが更新されるわけではありません。 – farhan