2016-11-01 5 views
0

私のテーブルビューのセルには3つのオブジェクトがあります。イメージビュー、ラベル、およびテキストビュー。Swift - UITextViewレイアウト制約に従ったUITableViewCellの高さ

これは私が私のTextViewとその制約を設定する方法である:

textView.translatesAutoresizingMaskIntoConstraints = false 
textView.textColor = UIColor.blue 
textView.font = UIFont.systemFont(ofSize:15.0) 
textView.textAlignment = NSTextAlignment.left 
textView.isScrollEnabled = false 

** selfはのTextViewが含まれていることUIViewであることに注意してください。で

tableView.estimatedRowHeight = 44.0 
tableView.rowHeight = UITableViewAutomaticDimension 

:テーブルビューセルのコンテンツビューには、TextViewのの高さが、私はこれをしなかった私のUITableViewのためにその内容

に応じて算出されるように、私はisScrollEnabled = falseを作っこのUIView

self.addConstraints([ 
      textView.topAnchor.constraint(equalTo: label.bottomAnchor, constant: 10.0), 
      textView.leftAnchor.constraint(equalTo: imageView.rightAnchor, constant: 10.0), 
      textView.rightAnchor.constraint(equalTo: self.rightAnchor, constant: -10.0), 
      textView.heightAnchor.constraint(greaterThanOrEqualToConstant: 20.0) 
      ]) 

が含まれています上のコードmy tableviewcellは正しい高さを表示しません。私は、textviewの高さの制約がtableviewcellのコンテンツビューに間違った高さを与えていると考えています。

どうすればこの問題を解決できますか?

+0

設定 'isScrollEnabled = false'をその@alexburtnikのTextViewの高さ – alexburtnik

+0

を計算に影響し、heightAnchorは、その高さに応じてのTextViewを変更しないのだろう。私の説明が不明な場合は申し訳ありません – imstillalive

+0

@alexburtnik内容に応じてtextViewの高さを変更することはできましたが、テーブルビューのセルの高さは変わりません。 – imstillalive

答えて

0
  1. 設定すると、isScrollEnabled = falseはtextViewの高さの計算に影響しません。あなたはトップ(=)オプション高さ(> =)に加えて、あなたのtextView下(=)制約を追加する必要があるのTextViewの内容に応じてセルのサイズを変更するために
0

tableView(heightForRowAt:)デリゲートメソッドを試したことがありますか?

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
    return textView.frame.height // Assuming you have a reference to the textview 
} 
+0

@imstillalive lolは不必要で完全に間違っています。 – Luis

関連する問題