編集:
カスタマイズセルを作成することで問題は解決しました。
Cory の答えは問題を解決しませんclipsToBounds
でしたが、本当にポイントであり、彼の継続的な助けに感謝します. だから私は彼に報奨金を与えますが、彼の答えを答えとして受け入れません. 答えはまだ風の中....
================================
UIViewContentModeScale
セル画像のモードを(左画像)に設定するAspectFill
と、画像が正しく表示されました(画像ビューを塗りつぶしますが、アスペクトは維持されます)。ただし、セルを長押しすると、画像が変更されます。imageView のフレームと contentViewMode が変更されます。(下の左の画像の最初のセルを参照してください)
これは本当に配線されており、基本的なことがうまくいかない可能性があると私は信じているので、私が見逃していたものがあるに違いありません.
環境: Xcode 4.3 iOS5.1 シミュレーター & デバイス。
アップデート:
ストーリーボードのインスペクターを使用して UIViewContentMode を設定しました。
ちなみにSDWebImage/UIImageView+WebCache.hを使用しました。
更新2:
コードでコンテンツ モードを明示的に設定しましたが、まだ問題があります。[cell.imageView setContentMode:UIViewContentModeScaleAspectFill];
update4:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AlbumCell"];
if(cell == nil){
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"AlbumCell"];
}
//[cell.imageView setContentMode:UIViewContentModeScaleAspectFill];
//[cell.imageView setClipsToBounds:YES];
[self configureCell:cell atIndexPath:indexPath];
return cell;
}
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
Album *album = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = [album.title description];
cell.detailTextLabel.text = [self.userVisiableDateFormatter stringFromDate:album.releaseDate];
//[cell.imageView setContentMode:UIViewContentModeScaleAspectFill];
[cell.imageView setImageWithURL:[NSURL URLWithString:album.coverThumbnailUrl]
placeholderImage:[self placeHolderImage]];
}