iOS11에서 Grouped UITableView 섹션 헤더에 추가 높이가 발생하는 문제에 대해
2762 단어 iOSUITableViewSwiftUIKit
이것은 무엇입니까?
CGFloat.leastNormalMagnitude
를 tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
여기는 tableView의 섹션 헤더와 바닥글의 높이를 없애는 방법이 바뀌었던 것이 아니라, 아래의 조건이 조합되면 일어나는 버그였습니다.
estimatedSectionHeaderHeight
가 -1 (아마도 UITableViewAutomaticDimension)입니다.tableView.tableHeaderView = UIView()
등 tableHeaderView 에 뭔가 View 를 설정하고 있다 자신의 제품에서는, 상태에 의해
tableView.tableHeaderView
가 변경되는 화면이었기 때문에, 어느 상태일 때에 tableView.tableHeaderView = UIView()
를 해, tableHeaderView 에 빈 View 를 설정하고 있었습니다.OS별 기본값 차이
Xcode 9(iOS 11 SDK)에서 UITableView의 Self-Sizing(Auto Layout으로 높이 자동 조정)이 기본값입니다.
따라서 각 기본값은 iOS11에서 다음과 같이 변경되었습니다.
코드 (iOS10/iOS11)
인터페이스 빌더
estimatedSectionHeaderHeight
(0/-1)
0
estimatedSectionFooterHeight
(0/-1)
0
iOS10과 iOS11에서 estimatedSectionHeader (Footer) Height의 기본값이 다릅니다.
이로 인해, iOS10에서는 무효였던, 견적의 높이가 iOS11이라고 유효하게 되는 것으로 이번과 같은 여분의 높이가, UITableView에 가산되어 표시되어 버립니다.
어떻게 해야 할까
tableView.estimatedSectionHeaderHeight
또는 tableView.estimatedSectionFooterHeight
에 명시 적으로 0을 설정하여 견적을 비활성화하십시오.스쿠쇼에서 비교
before
after
참고 자료
Reference
이 문제에 관하여(iOS11에서 Grouped UITableView 섹션 헤더에 추가 높이가 발생하는 문제에 대해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/masashi-sutou/items/405adf126d0d2c4f0b4e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)