iOS) UITableView 에서 헤더 고정 해제하기

less than 1 minute read

내용

  • UITableView 에서 헤더를 사용하니까 스크롤 시 고정되어 원하는 UI 가 구현되지 않았다.

문제

UITableView.Style 이 grouped 가 아닌 plain 일때 스크롤하면 헤더가 고정된다고 해요.

  • 다음과 같이 변경해주면됩니다.
// 최초 선언시 이니셜라이저를 통해서 접근 가능.
private let tableView = UITableView(frame: .zero, style: .grouped)

라고할뻔.. ㅋㅋ

plaingrouped 의 차이점이 들어나게되요!

개발자문서를 잠깐 볼까요

111

grouped 스타일 속성은 고유한 행 그룹이 있는 섹션을 가집니다.

그래서 아래와 같이 적용됩니다.

UITableView.Style 은 다음과 같다고 합니다.

222

사진 출처:

[iOS - swift] tableView 스타일) Plain vs Grouped vs Insert Grouped

그렇다면 우리가 위에서 본 섹션영역을 좀 더 자세히 봐볼게요.

view hierachy 를 살펴보면 헤더위쪽으로 또다른 영역이 존재해요! 그리고 이것은 footer 입니다!

스크린샷 2022-03-31 오후 2 53 25

해결

footer의 높이를 줄이면 되겠죠?

tableView.sectionFooterHeight = 0

444

추가적으로 색상도 변경해서 완성해볼게요

tableView.backgroundColor = .sparkWhite

참고:

UIKit - UITableView 를 Grouped Style 로 지정했을 때 생기는 Footer 없에기

Categories:

Updated: