web-dev-qa-db-ja.com

UITableViewAutomaticDimensionがXcode6.3で機能しない

XcodeをSwift 1.2とともに6.3に更新し、移行しました。

テーブルビューの動的な行の高さを除いて、すべてが機能します。私は3つの完全に異なるテーブルビューにそれらを持っているので、おそらくそれはバグに影響を与える他の何かではありません。

すべてのテーブルビューを次のように設定しました。

tableView.rowHeight = UITableViewAutomaticDimension

そして私のxibファイルはすべて適切に制約されています。

何か案は?

17
Stefan Salatic

UITableViewAutomaticDimensionをestimatedrowforindexpathにも追加しただけです。 BEAM App ( 'people'カテゴリの下)でどのように機能するかを確認できます。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return UITableViewAutomaticDimension;
}

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return UITableViewAutomaticDimension;
}
54
Ken

推定行高を提供する必要があります。

必要な場合を除いて、estimatedHeightForRowAtIndexPath:を実装しないことをお勧めします。

estimatedRowHeightは、値を考え出すことができれば安価です

    tableView.rowHeight = UITableViewAutomaticDimension
    tableView.estimatedRowHeight = 30 //Provide any appropriate value
3
user1046037