본문 바로가기

나의 플랫폼/iOS

[iOS] change TableHeaderView height dynamically with autolayout

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

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가 갱신 되는 것을 확인 하실 수 있으실 겁니다.


참고하세요.

'나의 플랫폼 > iOS' 카테고리의 다른 글

[iOS] Self-sizing TableView Cell  (0) 2017.11.06
[iOS] UITableView scroll to top  (0) 2017.10.27
[iOS] initWithCoder unrecognized selector sent to instance  (0) 2017.10.17
[iOS] LocalNotification  (0) 2017.09.29
[iOS] Swift defer 블록  (0) 2017.09.14