2011-10-24 2 views
1

UIScrollView 내에서 UITableView이 중첩되어있어 높이 계산이 어려웠습니다.IOS 뷰어 뷰의 스크롤 뷰 높이가

둘 다 내용이 동적이므로 tableview를 내용에 맞게 확장하고 차례로 scrollview를 tableview의 내용에 맞게 확장하고 싶습니다.

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

을하지만 결과 높이가 너무 많이 스크롤, 너무 깁니다 :

나는있는 ScrollView이 있습니다.

tableview 동적으로 크기를 조정하는 것이 어렵다는 것을 알고 있습니다. 정의 된 크기가 없으면 크기가 너무 작습니다. 그래서 이것을 추가했습니다 :

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

너무 커요.

나는 tableview의 크기가 그 안에있는 행의 수와 높이에 의해 결정되지만 여기서 명확한 대답이나 그물을 찾을 수 없다고 생각한다.

아이디어가 있으십니까?

+0

같이 계산할 수있다 너의 테이블? – AncAinu

답변

0

귀하의 UITableViewDelegate 구현해야합니다

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

이것은 당신의 셀에 대한 올바른 크기를 설정합니다.

+0

THanks, 셀 높이를 올바르게 설정하는 데 도움이되지만 tableview가 여전히 scrollview와 같이 너무 깁니다. 나는 어딘가에서 잘못된 것을 설정하고 있어야한다. –

0

내가 UIScrollView의 높이를 설정하려면 다음 코드를 사용하여 직접있는 ScrollView 사용하지 않는 이유는

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))]; 

UITableView의 높이를 얻으려면을, 어쩌면 당신은 rowHeight를 * 행 개수

관련 문제