テーブルビューセルに設定するために、SDWebImageを使用してYouTube JSON Webサービスからサムネイル画像をダウンロードしています。問題は、75x75 の UIImageView に合わせたいので、ダウンロード画像が 120x90 で、私のニーズには大きすぎることです。画像がプレースホルダーにキャッシュされている間は正しく見えますが、キャッシュが完了すると、120x90 の比率のサイズになります。setContentMode:UIViewContentModeScaleToFill を試してみましたが、うまくいかず、この問題の解決方法がわかりません。
NSString *path= [thumbnail valueForKey:@"sqDefault"];
[cell.imageView setImageWithURL:[NSURL URLWithString:path] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
[cell.imageView setContentMode:UIViewContentModeScaleToFill];
CALayer * l = [cell.imageView layer];
[l setMasksToBounds:YES];
[l setCornerRadius:5.0];
どうもありがとう
編集:
カスタム セル拡張クラスでコンテンツ モードを設定しました。
newsCell.m
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
[self.Image setContentMode:UIViewContentModeScaleToFill];
}
return self;
}
セル作成コードは次のとおりです。
マルチメディア.m
newsCell *cell = [self.tableView
dequeueReusableCellWithIdentifier:@"news"];
if (cell == nil) {
cell = [[newsCell alloc] initWithStyle:UITableViewCellSelectionStyleNone reuseIdentifier:@"news"];
}
問題は、最初のステートメントがセルを作成しているため if (cell == nil) が呼び出されないため、initWithStyle が呼び出されず、コンテンツ モードが設定されていないことですが、最初のステートメントを削除するとセルが作成されません。私はそれを管理する方法がわかりません。
ありがとう