以下のコードのように、URL から画像を uiimage にロードし、それらの画像を uitableviewcell uiimageview に追加します。画像サイズはわかりませんが、tableviewcell 画像で強制的に 40x40 にする必要があります。画像は、uitableview でさまざまな幅で読み込まれ続けます。
uiimage のサイジング/スケーリングに関連する他の投稿を読んでください。しかし、それらの解決策は私にとってはうまくいきません。uitableviewcell に含まれている uiimageview を使用しているのに対し、独自の uiimageview を作成しているためだと考えています。
コードはこちら >
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [[UITableViewCell alloc] init];
ItemForSale *item = [listOfItems objectAtIndex:indexPath.row];
cell.textLabel.text = item.name;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.textLabel.font = [UIFont systemFontOfSize:14];
NSURL *url = [NSURL URLWithString: item.imgPath];
UIImage *thumbnail = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];
if (thumbnail == nil) {
thumbnail = [UIImage imageNamed:@"noimage.png"] ;
}
cell.imageView.image = thumbnail;
cell.imageView.contentMode = UIViewContentModeScaleAspectFill;
cell.imageView.frame = CGRectMake(0, 0, 40, 40);
cell.imageView.autoresizingMask = UIViewAutoresizingNone;
cell.imageView.clipsToBounds = YES;
return cell;
}
コンテンツモードを設定してみました(アスペクトフィルとアスペクトフィットの両方を試しました)、フレームをリセットして、autoresizingmask、clipTobound を設定してみました。それのどれも物事を変えませんでした。