2011-10-24 9 views
1

UIScrollViewの範囲内にネストされたUITableViewがあり、どちらかの高さを計算するのが難しいと思っています。スクロールビューの高さでIOSテーブルビュー

両方の内容が動的なので、テーブルビューをコンテンツの内容に合わせて展開し、スクロールビューを展開してtableviewの内容に合わせてください。

私はscrollviewのためにこれを持っている:

CGFloat scrollViewHeight = 0.0f; 
for (UIView* view in contentView.subviews) 
    { 
     scrollViewHeight += view.frame.size.height; 
    } 

しかし、結果として生じる高さが長すぎる、あまりにも多くのスクロールです。

テーブルビュー私は動的にサイズを変更するのが難しいと思っています。定義されたサイズを使わずに残すと、サイズが小さすぎます。だから私はこれを加えた:

self.tableView.contentSize = CGSizeMake(320.0f, [self.tableView contentSize].height); 

それは大きすぎます。

テーブルビューのサイズは、その中の行の数と高さによって決まると思いますが、ここでまたはネット上で明確な答えを見つけることはできません。

アイデア?

+0

*多分あなたはrowHeightのように計算することができ、UITableViewの高さを取得するには

for (UIView* view in scrollview_.subviews) { if (!view.hidden) { CGFloat y = view.frame.origin.y; CGFloat h = view.frame.size.height; if (y + h > scrollViewHeight) { scrollViewHeight = h + y; } } } [scrollview_ setContentSize:(CGSizeMake(320, scrollViewHeight))]; 

をあなたのテーブルの? – AncAinu

答えて

0

あなたUITableViewDelegateは、実装する必要があります。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

これはあなたのセルの正しいサイズを設定します。

私は UIScrollViewの高さを設定するには、次のコードを使用し
+0

THanks、これはセルの高さを正しく設定するのに役立ちますが、テーブルビューはスクロールビューと同じように長すぎます。私はどこかに間違った何かを設定する必要があります。 –

0

:あなたが直接scrollviewを使用していないのはなぜ行数

関連する問題