2016-04-12 7 views
0

テーブルビューのセルには次のような制約があります(大部分がXCodeの推奨制約です)。コードが実行されるときテーブルセルの画像ビューの優先度が1000の高さ制約がありますが、画像が圧縮されています

enter image description here

は、しかし、セルの行の高さは、それがキャンバスにあるものの約半分です。 最初はアスペクト比の制約がなく、ビューコントローラーの実行時に画像の下半分が欠けていました。アスペクト比の制約を追加した後、画像が押しつぶされました。

enter image description here

なぜこれが起こっている私は理解していません。イメージビューの制約の高さが1000の場合は無視されるのはなぜですか?

+0

のデフォルトの絶頂をtooksようheightForRowAtIndexPathに設定されていない、それはあなたのように見えるということのよう

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 50; } 

にセルの高さを設定するようにしてください? AsepctFitに設定しようとしましたか? – SeanLintern88

+1

コンソールに、制約が満たされず、自動レイアウトエンジンがブレークする(画像ビューの高さの制約)ために、ログメッセージを表示する必要があります。あなたのtableviewの行の高さが間違っているように見える – dan

答えて

1

することは、contentModeがImageViewの上にあるもの44

+0

それは確かにそれです。実際に私はこの方法については忘れていませんでしたが、ストーリーボードに制約があると仮定しました。私には省略されているように見えますが、この関数はデフォルトの高さではなくストーリーボード/制約値を指定する必要があります。 – Gruntcakes

+0

行の高さを 'UITableViewAutomaticDimension'に設定すると、それは制約に基づいて計算されます – dan

関連する問題