2016-04-12 11 views
14

プロトタイプセルでテーブルビューを持っています。セル内に というイメージビューとテキストがあります。 テキストラベルはプロトタイプセルの1つのlaineですが、複数の行になることがありますが、サーバコール後にテーブルビューにデータをロードしています。 ストーリーボードの行のラベルは0に設定され、改行は改行に設定されます。 私も試しましたhttp://candycode.io/automatically-resizing-uitableviewcells-with-dynamic-text-height-using-auto-layout/スウィフトダイナミックテーブルセルの高さ

効果はありません。 Using Auto Layout in UITableView for dynamic cell layouts & variable row heights ラベルテキストは事前定義されていますが、サーバーからデータをロードしていて、API呼び出し後にtableViewをリロードした後にラベルが1行だけですべてが機能します。

+0

あなたUITableViewDelegate方法を確認してください? –

+0

はい、私はそれを削除する必要があります提案された制約を使用しますか? – SpyZip

+1

http://stackoverflow.com/questions/36437861/what-c​​onstraints-would-prevent-my-uiviews-from-stacking-on-top-of-each-other/36438009#36438009 – Scriptable

答えて

22

UITableViewAutomaticDimensionは、動的コンテンツを表示するソリューションを提供します。 viewDidLoadでのコードの下

用途:

tableView.estimatedRowHeight = YourTableViewHeight 
tableView.rowHeight = UITableViewAutomaticDimension 

Read more from here

はそれがお役に立てば幸いです。 :)

+1

これをスクリーンショットとコードまたは可能な共有している場合は、問題は、私の制約にあったそれらをすべてクリアし、それらを手動で追加 – smukamuka

12

それは属性インスペクター

から以上に等しい関係を設定する必要が一定の場合には、一定ではないようにしてくださいUILabelの高さ制約を作るには、必ずUITableViewestimateの行の高さは、あなたのあたりのように設定します。

self.TableName.estimatedRowHeight = 85 

and write in UITableViewcell class 


Cell.lbl_name.sizeToFit() 


Cell.lbl_name.numberOfLines = 0 

あなたのラベルがtableViewCellに下の制約を持っています

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

return UITableViewAutomaticDimension 
}