2017-09-18 7 views
0

私はテーブルビューの高さを設定しようとしています。cell =セルの内容です。Swift:テーブルビューのダイナミックセル

私はviewDidLoad()でこれらの2行実装:それでも、セルは、その高さを変えている

tableView.estimatedRowHeight = 200.0 
tableView.rowHeight = UITableViewAutomaticDimension 

and here are the constraints in the cell

を!

+0

としてメートルとトップスペースは、あなたは何を意味するのですか? –

+0

高さが小さ過ぎて、私はこれらの2行を追加しないかのように振る舞います。タイトルは、セルに表示される唯一のものです。 – mahdi

答えて

0

TextViewには全体に合うように拡大していないだろうテキストは、スクロール機能を備えているため、デフォルトではtextViewでスクロールを無効にする必要があります。

のTextViewを選択し、属性インスペクタ]タブのスクロールでダウンし、チェックを外し、「スクロールを有効」

+0

これは私のためにうまくいきました!私は同じ問題を抱えているので、イメージを持つセルのために何をすべきか。 – mahdi

+0

@mahdi画像を表示する方法に基づいたimageViewでは、高さの制約を設定するか、アスペクト比の制約を設定することができます –

0

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {return UITableViewAutomaticDimension} 

+

override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat { 
    return UITableViewAutomaticDimension 
} 
+0

私はそれを試み、それは動作しませんでした。 – mahdi

+0

またはこれを試してfunc tableViewをオーバーライドしてください(_ tableView:UITableView、estimatedHeightForRowAt indexPath:IndexPath) - > CGFloat { return UITableViewAutomaticDimension } –

0

indexpath heightForRowAtを使用しようとあなたの問題はUITextViewの高さが明示的に記述されていないことであり得ることを私には見えます。テキストビューの自然な振る舞いは、コンテンツの内容と同じくらい高いものではありません。

私は、インターフェイスビルダー内の高さの制約を追加するコンセントにそれをフックして、そのような高さを計算するセルlayoutSubviews関数内示唆している:

@IBOutlet var textViewHeightConstraint: NSLayoutConstraint! 
func layoutSubviews() { 
    super.layoutSubviews() 
    let fixedWidth = textView.frame.size.width 
    textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude)) 
    let newSize = textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude)) 
    textViewHeightConstraint.constant = newSize.height 
} 
0

tableView.rowHeight = UITableViewAutomaticDimension 
tableView.estimatedRowHeight = 200 

のviewDidLoad

INとのあなたのタイトルレーベルとテキストラベル(テキストビューを置き換える)の両方を置きますUIView。そして、のUIViewに制約を与える
1末尾、リーディング、底部およびZERO
2ギブ200として絶頂固定し(> =)以上のような関係を変えるように、上部空間

その後に制約を与えますタイトルラベル
1. ZERO
として末尾、先頭とトップスペース 2. 20として絶頂固定ギブ(お好み)

与えるが、主要なテキストラベル
1.末尾、だぼっに制約あなたは、細胞がその高さを変えていると言うときZERO
2以上のように180と変更関係として絶頂固定ギブ(> =)

関連する問題