2017-08-09 7 views
1

高さの異なるセルが少ないUITableViewがあります。各行は、その内容に応じて動的に調整されます。送信heightForRow:atIndexPathセル内での計算後の高さ値

私はそれが(すべてのセルが内部のスクロールせずに、見えるはず)がどのように多くの細胞に応じてサイズを変更する必要があり、その中にUICollectionViewでカスタムUITableViewCellを持っています。

私はまた、それが持っているセルの数に応じてサイズを変更する必要があります(すべてのセルは、スクロールなしで表示する必要があります)。

heightForRow:atIndexPathが呼び出されている間にコレクションビューとテーブルビューのcontentSizeが表示されないので、値を正しく設定できません。

それが設定されました(「contentSize」にオブザーバーを追加しました)が、その後、細胞が互いの上にあった(collectionViewはの岩下だったとき、私は UITableViewAutomaticDimensionに設定するとcontentSizeに cell.contentView.frame.size.heightを設定しようとした

上記の代わりにtableView)。

tableViewコードは、通常のtableViewコードです。

collectionViewコードは次のとおりです。

self.collectionView.collectionViewLayout = UICollectionViewLeftAlignedLayout() 
let collectionViewFlowLayout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout 
collectionViewFlowLayout.estimatedItemSize = CGSize(width: 34, height: 50) 

のtableViewとcollectionViewのサイズを調整するための最良の方法は何ですか?

ありがとうございました!

+0

あなたのテーブルビューのセルが含まれているコンテンツは何ですか? – Pankaj

+0

@Pankajどちらですか?メインのtableViewには、5つの異なるカスタムセル(カスタムUIView、collectionViewおよびtableVIew)が含まれています。内部tableViewには2種類のカスタムセルが含まれています –

+0

collectionviewまたはtableViewをスクロールしたくないと言ったので、CVとTVの各セルのサイズを手動で計算する必要があります。メインセル。 – Pankaj

答えて

0

あなただけのコードのこの作品で再びそのセルの高さを調整するためのUITableViewを依頼することができます。

self.tableView.beginUpdates() 
self.tableView.endUpdates() 
+0

しかし、いつ呼びますか? tableViewControllerでtableVIewとcollectionViewの両方の読み込みが完了したことをどのように知ることができますか? –

+0

親テーブルビューをインスタンス化した時点で、ネストされたコレクションビューとテーブルビューのサイズを計算できますか? – kirander

+0

collectionViewセルのサイズは、制約によって設定されます –

関連する問題