2012-03-27 11 views
1

私はDynamically Generate UITableViewsで私を助けてくれた皆に感謝したい。しかし、私は少し質問を私が見つけた新しい問題に拡張する必要があります。テーブルを動的に生成できるようになりましたが、そこにある行の数に基づいてテーブルの高さを動的に設定する方法を知る必要があります。上記のスレッドを読めば、基本的にはユーザーが持つポリシーの数に基づいてxテーブルを生成する必要がありますが、そのテーブルには常にxまたはすべての量が同じではないx行が含まれます。どのようにして、次のテーブルが、そのテーブルの上にあるビューの後ろの正しい部分で始まるようにすることができますか?彼らは重複しないように?動的に生成されるUITableviewの高さと位置を動的に設定しますか?

私はこれを間違って尋ねたことがあり、ご理解いただけない場合は、お尋ねください。

答えて

5

利用可能な各テーブルの行数があれば、あまり難しくありません。

簡単な管理のために、テーブルビューをすべてアレイに配置していることを前提としています。

あなたは単純に配列をループして、位置のカウンターを保持し、カウンターに基づいてテーブルビューのサイズを変更する必要があります。

CGFloat currentYPosition = 0; 

for (UITableView *tableView in allTableViews) { 
    CGRect frame = tableView.frame; 

    CGFloat height = tableView.rowHeight * numberOfRowsInTableView; 

    frame.origin.y = currentYPosition; 
    frame.size.height = height; 

    tableView.frame = frame; 

    currentYPosition += height; 
} 

は、高さ可変のために、私はちょうどこのような何かを入力の途中にあったあなたが持つかもしれない他のエキストラ(テーブルビューのヘッダー、フッターなど)

+2

を追加することができます。 Webサービスからポリシーの数を取得し、適切にtableViewを作成してそれらを前記配列に格納できる限り、これはうまく見えます – Justin

関連する問題