2011-08-30 6 views
5

UItableview가 섹션 헤더 & 바닥 글을 가지고 있습니다. 스크롤시 UITableView 섹션 바닥 글이 겹칩니다.

처음에 제가

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    heightForHeader = 40.0; 
    if (scrollView.contentOffset.y<=heightForHeader&&scrollView.contentOffset.y>=0) { 
     scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0); 
    } else if (scrollView.contentOffset.y>=heightForHeader) { 
     scrollView.contentInset = UIEdgeInsetsMake(-heightForHeader, 0, 0, 0); 
    } 
} 

이제 다음 호 스크롤하면서 중첩되는 섹션 푸터로 그대로 scrollViewDidScroll 대리자를 사용하여 해결 스크롤에 SECTIO 헤더 중첩하는 문제가 있었다.

도와 드릴까요?

답변

4

머리글과 바닥 글에 대한 사용자 지정 높이를 설정합니까?

귀하의 테이블 뷰 대표는이 메소드를 구현해야합니다

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section 

는 적절한 값을 반환해야합니다.

머리글과 바닥 글보기가 더 작은 값을 반환하면 머리글과 바닥 글보기가 겹칠 수 있습니다.

1

것은이 찾고 있습니다 : 나는 그것을 테스트하고 그것이 내가 작은 화면의 아이폰에 대한 문제의 같은 종류의 오늘에 달렸다

 
    CGFloat sectionFooterHeight = 40; 
    CGFloat tableViewHeight = self.tableView.frame.size.height; 

    if (scrollView.contentOffset.y=tableViewHeight) { 
     scrollView.contentInset = UIEdgeInsetsMake(0, 0,-scrollView.contentOffset.y, 0); 
    } else if (scrollView.contentOffset.y>=sectionFooterHeight+self.tableView.frame.size.height) { 
     scrollView.contentInset = UIEdgeInsetsMake(0, 0,-sectionFooterHeight, 0); 
    } 

+0

머리말과 꼬리말을 모두 가지고 있습니다. 이것이 작동하지 않습니다. 나는'scrollviewDidScroll'에 넣은 스크롤 할 헤더와 비슷한 코드를 가지고 있으며 그 코드 아래에 코드를 넣는다. 그래서 scrollview 제대로 스크롤 할 수 없습니다. 어떤 suggesions? – Heena

+0

세 가지 다른 UITableviewCell을 만들고 머리글과 바닥 글 대신에 인덱스 0과 lastIndex에 다른 두 가지를 사용하도록 제안합니다. –

0

작동합니다. 큰 머리글/바닥 글보기가있는 섹션의 셀 수가 적은 테이블 뷰를 다루는 사람에게 도움이 될 수 있습니다.

우선 머리글과 바닥 글은 스크롤하는 동안 더 이상 볼 셀이 없으면 셀을 따라 스크롤됩니다. 따라서 셀이 2 ~ 3 개이고 큰 바닥 글 뷰가있는 경우에는 무릎을 지나칠 것입니다. 이 문제를 해결하는 한 가지 방법은 섹션의 마지막 셀로 바닥 글보기를 추가하는 것입니다. 이것은 단지 내 작품입니다.

관련 문제