SDWebImageを使用して取得した画像の高さ変更がうまくできない
SDWebimageで取得した画像をカスタムCell上のUIImageViewに表示させたのですが、 CGRectMake等で画像の高さを指定してもうまく効いてくれません。
現状、画像幅について仕様通りスクリーン幅になってますが、高さがいうことを効かず画像が縦長になっています。これをうまく高さ調整したいです。
FacebookやTumblerアプリのタイムラインのような、画像が画面幅にfixしたUIを実現させたいです。いくつかの方法を試したのですが、どれも納得のいくものではありませんでした。
同じ問題に遭遇した方、もしくは何かしら解決案がある方、相談にのっていただけたら幸いです。
実装について
- 画像の取得にはSDWebImageを使用しています。
- 画像のWidthはスクリーン幅、HeightはWidthの拡大・縮小比に合わせて動的に決定してます。なので、それぞれの画像は高さが異なります。
- Storyboard上で、画像にはAutolayoutの制約を横幅0pxで左右つけてます。画像幅に関してはうまく実現できています。
- 現状、SDWebimageのコールバックで画像の幅高さ等を決めてます。(効いていない)
試してみてうまくいかなかった方法
- それぞれのCellで、画像の高さのAutolayout制約を加える。
- それぞれのCellで、SDWebimageで取得した画像にFrameを設定する。
うまくいったが納得いかない、もっといい方法があるのではないかという方法
- それぞれのCellで、SDWebimageで取得した画像をリサイズして表示する。
→Tableがスクロール時にかくつく、リサイズするので画質が悪くなる - APIから画像の高さも返すようにして、テーブル側で高さ計算する
→きっともっといい方法があるはず
解決したいので、もしわかりにくい点がありましたら補足させてください。
お時間いただける方よろしくお願いします。