2016-09-19 11 views
0

提供された画像のトップラベルのダイナミックハイトを設定しようとしています。私は複数のことを試みましたが、私はいつもコンテンツが重なっている行で終わります。どんな助けもありがとう。私はSwiftでAutoLayoutを使用しています。Xcode - トップラベルのみのダイナミックな高さ

xcode_dynamic_height_top_label

UPDATE:ここ

は、私が持っている現在の制約は以下のとおりです。

image2 image3

I持つビューコントローラのための私のviewDidLoadで、次のコード:

notificationsTable.estimatedRowHeight = 85.0 
notificationsTable.rowHeight = UITableViewAutomaticDimension 
+0

あなたが望む実際にどのようなあなたの制約と、ご希望の出力を表示してください達成するために? –

+0

このセルに制約を追加しましたか? –

+0

私は自分の投稿を更新しました。 –

答えて

0

次のように行います。長いテキストと

画像: enter image description here

ショートテキスト: enter image description here

画像制約:

enter image description here

ダイナミックラベルの制約:

enter image description here

通常のテキスト制約:

enter image description here

・ホープ、このヘルプ

+0

これはほとんど動作しますが、私の画像はちょっと切れています。また、私のイメージが伸びないようにしたい。 –

+0

イメージコンテンツモードをAspect FitまたはAspect Fillに設定することができます – lee5783

+0

いいえ、私は行が画像の下端をクリッピングしていることを意味し、1行しかない場合は次の行にオーバーラップさせることを意味しますテキスト。 –

0

使用この簡単な方法:

func heightForView(_ text:String, width:CGFloat) -> CGFloat{ 
    let label:UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: width, height: CGFloat.greatestFiniteMagnitude)) 
    label.numberOfLines = 0 
    label.lineBreakMode = NSLineBreakMode.byWordWrapping 
    label.text = text 
    label.sizeToFit() 
    return label.frame.height 
} 

notificationsTable.rowHeight = heightForView(yourText, width: yourCGFloatWidth) 
関連する問題