2017-07-18 10 views
0

私はUITableViewCellでビューを持っていますが、ビューの高さは条件によって90または60になります。私はIBOutletを高さの制約にし、cellForRowメソッドでその値を更新しましたが、レイアウトをログに記録しました。定数を更新した後、cellForRowでlayoutIfNeededのようなメソッドを呼び出す必要がありますか?UITableVeiwCellの更新制約

答えて

0

UITableViewDelegateこのメソッドは、セルの高さを決定します。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; 

この方法を実装し、条件に応じて必要な高さを返します。

これ以外にも、この高さが指定されている場合、制約が壊れないようにする必要があります。だからここ

  1. ドラッグは、 'オブジェクトライブラリ' からUITableViewCellを落とし、手順です。
  2. セルを選択し、 'Size Inspector'から 'Row Height'を60に設定します。
  3. サブビューとその制約を設定します。テーブルビューセルの 'コンテンツビュー'に高さの制約をかけないでください。
  4. 上記の方法を実装し、この同じセルは高さ90を持つことができる場合は60

として高さを返すには、ステップ2、4に90を設定し、手順に90を設定したときに壊れないことを確認制約を作ります二。

関連する問題