

SDWebimageで取得した画像をカスタムCell上のUIImageViewに表示させたのですが、
CGRectMake等で画像の高さを指定してもうまく効いてくれません。  
現状、画像幅について仕様通りスクリーン幅になってますが、高さがいうことを効かず画像が縦長になっています。これをうまく高さ調整したいです。

FacebookやTumblerアプリのタイムラインのような、画像が画面幅にfixしたUIを実現させたいです。いくつかの方法を試したのですが、どれも納得のいくものではありませんでした。  
同じ問題に遭遇した方、もしくは何かしら解決案がある方、相談にのっていただけたら幸いです。

# 実装について

  1. 画像の取得には[SDWebImage](https://github.com/rs/SDWebImage)を使用しています。
  2. 画像のWidthはスクリーン幅、HeightはWidthの拡大・縮小比に合わせて動的に決定してます。なので、それぞれの画像は高さが異なります。
  3. Storyboard上で、画像にはAutolayoutの制約を横幅0pxで左右つけてます。画像幅に関してはうまく実現できています。
  4. 現状、SDWebimageのコールバックで画像の幅高さ等を決めてます。(効いていない)

# 試してみてうまくいかなかった方法

  1. それぞれのCellで、画像の高さのAutolayout制約を加える。
  2. それぞれのCellで、SDWebimageで取得した画像にFrameを設定する。

# うまくいったが納得いかない、もっといい方法があるのではないかという方法

  1. それぞれのCellで、SDWebimageで取得した画像をリサイズして表示する。  
→Tableがスクロール時にかくつく、リサイズするので画質が悪くなる

  2. APIから画像の高さも返すようにして、テーブル側で高さ計算する  
→きっともっといい方法があるはず

解決したいので、もしわかりにくい点がありましたら補足させてください。  
お時間いただける方よろしくお願いします。


CC BY-SA 3.0
2015-10-01T14:03:40.860
17149
2015-10-01T15:10:52.153
2015-10-01T15:10:52.153
12527
12527
question
ios swift uitableview
SDWebImageを使用して取得した画像の高さ変更がうまくできない