2

まず、リモート URL から画像を遅延読み込みしようとしていますが、これまでに行ったことは次のとおりです。UIImageView に含まれるカスタム UITableViewCell と、XIB を使用するその他のラベルを作成し、それをカスタム UITableViewCell クラスにマップしました。- UITableView でカスタム テーブル セルを使用しています - カスタム セル内の UIImageView は、テーブルビューの画像の遅延読み込みに関する Apple のチュートリアルに従ってリモート画像を読み込みます - 最初に ImageView は読み込み中の画像を表示し、画像が読み込まれると、読み込まれた画像が取得されますImageView 内で更新されるか、失敗した場合、画像が表示されません

ここでの問題は、リモート画像のサイズが可変であることです。たとえば、画像が ImageView フレームよりも小さい場合、画像が伸びてぼやけて表示されますが、スクロールするか行を選択すると、実際のサイズにサイズ変更されてきれいに見えます. 同時に、画像がImageViewフレームよりも大きい場合、フレーム内に正しく収まりますが、行をスクロールまたは選択すると、フレームよりも大きなサイズを占め、行内の他の要素を非表示にします

そして、何時間も検索しましたが、コンテンツモードを UIViewContentModeScaleToFit に設定し、clipsToBounds を「YES」に設定するだけで、XIB とコードの両方でこれらの変更を行いましたが、何も変わりません。私が間違っていること、またはこの問題を修正する方法について、誰かが私を指摘できますか。

ありがとう。

4

2 に答える 2

1

好きなように画像をつかむ

UIImage *customImage = [UIImage imageWithContentsOfFile:theImagePath];

次に、次を使用して画像のサイズを確認します。

NSLog(@"the customImage width is %f and height is %f ",customImage.size.width,customImage.size.height);

次に、フレームを配置するフレームの幅と高さを変更して、元の画像と同じ割合に設定されるようにします (必要な境界に収まるようにします)。

float newWidth =  customImage.size.width *.4;
float newHeight = customImage.size.height *.4;
ImageButton.frame = CGRectMake(x coord, y coord, newWidth, newHeight);

必要に応じて、アスペクト フィット/フィルを使用することもできます

于 2013-01-31T01:16:16.400 に答える
0

画像の幅と高さがフレームサイズよりも大きい場合は画像のサイズを変更し、サイズ変更された画像をその上に表示し、画像のサイズがフレームよりも小さい場合はそのまま表示しました。

于 2013-02-28T04:12:15.277 に答える