1 min to read
테이블뷰 헤더뷰(headerView)/푸터뷰(footerView) 에러
                
                테이블뷰의 헤더뷰와 푸터뷰의 길이를 상황별로 바꾸고싶을때 iOS에서는 제대로 동작하지 않는다.
이건 iOS자체 에러이다
이경우 2가지의 해결방법이있다
- 
    
코드로 헤더/푸터뷰의 길이를 주던가
 - 
    
셀로 바꾸던가
 
아래의 코드는 헤더/푸터뷰의 길이를 잡아준 코드이다.
override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    if let headerView = tableView.tableHeaderView {
        let height = headerView.systemLayoutSizeFitting(UILayoutFittingCompressedSize).height
        var headerFrame = headerView.frame
        //Comparison necessary to avoid infinite loop
        if height != headerFrame.size.height {
            headerFrame.size.height = height
            headerView.frame = headerFrame
            tableView.tableHeaderView = headerView
        }
    }
}