나의 플랫폼/iOS

[iOS] change TableHeaderView height dynamically with autolayout

GsBOB 2017. 10. 26. 17:09

TableHeaderView에 높이가 바뀌었을 경우 해당 뷰 높이를 갱신 하더라도 

TableHeaderView의 영역이 변하지 않아 어려움을 겪으신 분들은 아래 소스를 참조해보세요.


1
2
3
4
5
6
7
8
9
10
11
12
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
    }
}
cs

출처 : https://stackoverflow.com/a/34689293


그럼 AutoLayout 설정에 맞게 TableHeaderView가 갱신 되는 것을 확인 하실 수 있으실 겁니다.


참고하세요.