2016-05-09 3 views
0

画像に1000語があるので、ここに私の制約がある私のUITableViewCellの画像があります。インタフェースビルダーの制約エラー

enter image description here

Iは、コンテンツビューの全てのエッジに固定ビューを有し、内部スーパーの底部および頂部にピン固定された幅と高さの別のビューがあります。私は、このビューのx軸をそのスーパービューに集中させようとしています。デバイス上で動作しても問題はありませんが、インタフェースビルダーはY位置または高さの制約が必要であると言って、外部ビューにエラーを投げています。私はどういうわけかインタフェースビルダーでそれをバイパスできますか?あるいは、私はセルフサイジングテーブルセルについて何か基本的なものを見逃していますか?

私は私のテーブルセルのサイズを設定しています:

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    return UITableViewAutomaticDimension 

} 

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    return UITableViewAutomaticDimension 
} 

答えて

1

心配しないでください。あなたはすべてのことを正しく行いました。 警告は、tableViewCellの2つの異なる高さのために発生するあいまいさに関するものです。

  1. あなたの制約のために高さ20が発生します。
  2. サイズインスペクタで提供される高さ(またはデフォルトの高さ、つまり44)。

セルの高さを21(テーブルビューにセパレータがない場合は20)に変更するだけです。あいまいさは解決されるでしょう。

注::セルの高さは1 +セル内容ビューの高さであるため、その21です。この1ポイントはセパレータライン用です。

また、変更を加えなくても、実行時にこの曖昧さが解消され、コンテンツの高さが計算されるため、UIは問題ありません。したがって、IBの高さは、計算された高さによって上書きされるため、問題はありません。

enter image description here

+0

素晴らしい、ありがとうございました! – Nirri