iOS) UITableView 에서 헤더 고정 해제하기
내용
- UITableView 에서 헤더를 사용하니까 스크롤 시 고정되어 원하는 UI 가 구현되지 않았다.
문제
UITableView.Style 이 grouped 가 아닌 plain 일때 스크롤하면 헤더가 고정된다고 해요.
- 다음과 같이 변경해주면됩니다.
// 최초 선언시 이니셜라이저를 통해서 접근 가능.
private let tableView = UITableView(frame: .zero, style: .grouped)
라고할뻔.. ㅋㅋ
plain
과 grouped
의 차이점이 들어나게되요!
개발자문서를 잠깐 볼까요
grouped
스타일 속성은 고유한 행 그룹이 있는 섹션을 가집니다.
그래서 아래와 같이 적용됩니다.
UITableView.Style 은 다음과 같다고 합니다.
사진 출처:
[iOS - swift] tableView 스타일) Plain vs Grouped vs Insert Grouped
그렇다면 우리가 위에서 본 섹션영역을 좀 더 자세히 봐볼게요.
view hierachy 를 살펴보면 헤더위쪽으로 또다른 영역이 존재해요! 그리고 이것은 footer 입니다!
해결
footer의 높이를 줄이면 되겠죠?
tableView.sectionFooterHeight = 0
추가적으로 색상도 변경해서 완성해볼게요
tableView.backgroundColor = .sparkWhite
참고: