EDIT:UIViewContentModeScaleモード(ハイライト)
私はカスタマイズセルを作成することにより、固定の問題を取得する(ただし、別のquestionsを持っている。)しかし、なぜデフォルトのセル。まだ謎です...
コーリーの答えは問題を解決しませんでしたが、clipsToBounds
は本当にポイントであり、私は彼の継続的な助けを感謝します。だから私は彼に恩恵を与えるが、答えとして彼の答えを受け入れない。まだ風に答え....
================================
私はセル画像のUIViewContentModeScale
モードをAspectFill
(左の画像)に設定し、画像は正しく表示されました(画像ビューを塗りつぶしますが、アスペクトを維持します)。ただし、セルをタッチして押したままにすると、画像が変更されます。つまり、imageViewのframeとcontentViewModeが変更されます。 (下の左の画像の最初のセルを参照してください)
これは実際に配線されていて、基本的なことが間違っている可能性があるので、私は欠けていたものがあるはずです。
環境:Xcode 4.3 iOS5.1シミュレータ&デバイス。
UPDATE:
私は、ストーリーボードのインスペクタを使用して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]];
}
どのような方法でコンテンツモードを設定しますか?そのメソッドのソースを表示します。 –
@rob私は、ストーリーボードから属性インスペクタを使用して属性を設定しました。 – pierrotlefou
scaleToFillコンテンツモードを試してください – Mrunal