프로그래밍/iOS
[UIKit] TableView section header 간격 문제 해결
병인
2022. 12. 24. 19:22
TableView를 만드는 도중 아래의 그림과 같이 Section이 nil인 경우에도 header가 잡히는 경우나 간격이 추가되는 버그가 있다.
우선 nil일 때 Header Section의 크기가 들어가지 않도록 변경해보자.
tableView.tableHeaderView = .init(frame: .init(x: 0, y: 0, width: 0, height: CGFloat.leastNonzeroMagnitude))
tableView를 생성할 때 위의 코드를 추가해주면 아래와 같이 section이 없으면 View가 추가되지 않는다.
다음으로 친구라는 섹션 위의 공백을 없애보자.
tableView.sectionFooterHeight = 0
우선 Footer를 사용하지 않으므로 FooterHeight를 0으로 만들어준다.
Footer의 Height를 0으로 만들면 하단과 같이 공백이 크게 줄어든다.
그 다음 iOS 15부터 추가된 sectionHeaderTopPadding을 0으로 만들어주면 끝이다.
if #available(iOS 15, *) {
tableView.sectionHeaderTopPadding = 0
}