Nice programing

UITableView 바닥 글, 콘텐츠 위에 떠 다니는 것을 중지

nicepro 2020. 11. 19. 22:00
반응형

UITableView 바닥 글, 콘텐츠 위에 떠 다니는 것을 중지


내 UITableView Footer가 기본 활동과 같이 내 콘텐츠 위에 떠 다니는 것을 중지하고 싶습니다. 내 바닥 글이 .. 글쎄 .. 바닥 글이되기를 원합니다. 항상 내 테이블 뷰 끝에 표시되는 마지막 뷰입니다. :)

실제로 헤더도 마찬가지입니다.

스크롤 할 때 테이블 뷰 위에 떠 다니는 것을 비활성화하는 쉬운 방법이 있습니까?

여러분 감사합니다. 다른 곳에서는 답을 찾을 수 없었습니다.


좋습니다.를 통해 바닥 글보기를 설정하면 바닥 blahblahtableView.tableFooterView = someview;글이 테이블과 함께 스크롤되지 않는 것으로 나타났습니다 .

그러나을 사용하여 바닥 글을 만들면 viewForFooterInSection보기를 따라 화면 하단에 고정됩니다.

이 답변을 더 빨리 찾을 수없는 이유를 모르겠습니다. 모두 죄송합니다 :)


바닥 글에는 두 가지 유형이 있습니다. 하나는 섹션 바닥 글 이고 다른 하나는 테이블보기 바닥 글 입니다.

섹션 바닥 글이 나타납니다 각 섹션의 아래 . 반면에 tableview 바닥 글tableview 끝에 한 번만 나타납니다 .

섹션 바닥 글의 부동을 비활성화하는 한 번의 클릭 방법은 없습니다.

항상 섹션의 마지막 셀로 나타나고 테이블 뷰의 맨 아래에 고정되는 "바닥 글"을 원하는 경우 섹션에 추가 셀을 추가하고 항상 섹션의 마지막 셀로 처리해야합니다.

tableview에 섹션이 하나만있는 경우 tableview 바닥 글을 바닥 글로 사용할 수 있습니다.


- (id)init {
    self = [self initWithStyle:UITableViewStyleGrouped]; //Default is UITableViewStylePlain
    return self;
}

self.YOUR_TABLE_VIEW.tableFooterView = YOUR_FOOTER_VIEW;

셀을 섹션으로 나누고 함수를 사용하는 경우 :

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView?

바닥 글을 설정하려면 IB에서 UITableView Style을 Grouped로 설정할 수도 있습니다.


질문이 맞다면 기본적으로 바닥 글 / 머리글을 제자리에 고정하고 다른 모든 항목을 스크롤 하시겠습니까? 그렇다면 머리글과 바닥 글을 tableview에서 별도의 뷰로 가질 수 있으며, 이는 뷰 계층 구조에서 tableview 위에 있으므로 테이블 뷰의 내용을 덮습니다.

테이블 뷰와 함께 (컨텐츠 위 또는 아래로 스크롤 할 때) 바운스되도록하려면 테이블 뷰의 메서드 (tableview는 스크롤 뷰의 하위 클래스이므로 작동 함)를 추적 - (void)scrollViewDidScroll:하고 바닥 글 또는 바닥 글에 대한 새 위치를 계산해야합니다. 거기에 헤더.

나는 당신이 내 대답을 얻기를 바랍니다. 나는 이것과 비슷한 일을했고 그것은 효과가있었습니다 (나는 테이블 뷰 위에 "Release to update"종류의 것을 원했습니다)


비슷한 문제가 발생했습니다. 바닥 글 만 사용하여 맨 아래에있는 표의 셀 수를 표시했습니다. 그러나 예상대로 테이블 셀로 스크롤되지 않았습니다 (바운스되는 바닥에 도달 할 때까지 항상 테이블 상단에 표시되었습니다).

이것을 극복하기위한 나의 해결책은 2 개의 섹션을 만드는 것이 었는데, 하나는 테이블 셀을 포함하고 다른 하나는 헤더가있는 비어 있습니다. 이 헤더는 카운터를 표시하고 원하는대로 작동합니다 (셀을 오버레이하지 않고 항상 테이블 하단에 유지).

하단에 더미 셀을 추가하는 권장 솔루션은 내 경우에는 유선 테두리 테이블과 경계가 있고 그것을 원하지 않았기 때문에 유용하지 않았습니다.

도움이 되었기를 바랍니다


여기 https://stackoverflow.com/a/41816730/1553351에서 내 대답을 확인하십시오 . 코드는 귀하의 질문에서 설명한 것과 정확히 일치합니다.


#pragma mark-두 가지 옵션이 있습니다-

  1. UITableView 대리자 사용

    효과 : 표보기의 부동 바닥 글

-(CGFloat)tableView:(UITableView *)tableView
heightForFooterInSection:(NSInteger)section{
    return HEIGHT;
}
-(UIView*)tableView:(UITableView *)tableView
viewForFooterInSection:(NSInteger)section{
    return FOOTERVIEW
}
  1. 테이블보기의 setter 사용

    효과 : 마지막 셀 하단에 부착

theTableView.tableFooterView = YOURFOOTERVIEW

// Do not set this delegate
// or you would get a extra blank at the bottom of the table

//  -(CGFloat)tableView:(UITableView *)tableView
//  heightForFooterInSection:(NSInteger)section{
//    return HEIGHT;
//  }

참고 URL : https://stackoverflow.com/questions/5740518/uitableview-footer-stop-from-floating-over-content

반응형