2016-05-06 11 views
9

UICollectionView(複数可)をUITableView内に複数設定しているため、垂直方向にスクロールすることができます。UITableView内の水平UICollectionViewのテーブルビューのセルサイズ

テーブルビューの行の高さは、どれくらいの高さであるべきかを知る前に呼び出されます(テーブルビューのセルを塗りつぶすためにそれぞれの高さが必要です)。

これを解決するにはどうすればよいですか?

答えて

1

私の提案は、コレクションビュー用のカスタムレイアウトを作成することです。次に、セルサイズを計算し、コレクションビューのサイズを変更したときに通知されます。

+0

これはどのようにしてテーブルビューに中継されますか?詳細(コード例)を提供できますか? – Boon

1

この機能を使用すると、あなたが持っているcollectionViewの身長を知ることができます。

aCollectionView.collectionViewLayoutプロパティのcollectionViewContentSizeに電話をかけ、コンテンツの高さと幅をCGSizeの形式で取得します。

OR

-(CGFloat)collectionViewHeight 
{ 
    [collectionView layoutIfNeeded]; 

    return [collectionView contentSize].height; 
} 
+0

これはどのようにしてテーブルビューに中継されますか?詳細(コード例)を提供できますか? – Boon

1

あなたの身長のための変数を作成し、あなたのheightForRowAtIndexPath方法でその変数を返します。その後、高さを把握したら、tableViewをリロードします。

var height: CGFloat = 44 

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    return height 
} 

func something() { 

    height = 1234//Or whatever your height should be 
    self.table.reloadData() 

} 
関連する問題