2017-10-17 11 views
2

私は奇妙なことが欲しいかもしれませんが、タスクは残りのスペースを埋めるためにUITableViewの最後のセルを伸ばすことです。したがって、テーブルのセル数が少ない場合は、画面の下部まで残りの部分の高さに合わせます。UITableView:テーブル作成後に1つのセルの高さの制約を変更しますか?

これを達成するために、最後のセルのxibに高さの制約が含まれていました。 適切な高さを計算して定数を設定できますが、後で何をするかは関係ありません。setNeedsDisplay()setNeedsLayout()reloadData()reloadRowsAtIndexPaths()など - セルの高さは変更されません。

更新コードを2回目に呼び出すと、レイアウトが調整されます。

セルを強制的に強制的に更新する方法を教えてください。

答えて

0

以下が実装されている必要があります(viewDidLoadは正常です)。

var estimatedRowHeight = 80 (for example) 

// Set automatic dimension on row height. 
tableView.rowHeight = UITableViewAutomaticDimension 

// Set estimated row height. 
tableView.estimatedRowHeight = estimatedRowHeight 

高さ制約を外し、reloadData、またはreloadRowsAtIndexPaths()のいずれかを使用してサイズ変更を呼びます。

0

次の方法を試しましたか?あなたが最後のindexPath.rowをチェックし、あなたが計算する異なる高さを置くところ。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; 
関連する問題