근본 원인은 estimatedRowHeight
이 기본이되는 UIScrollView.contentOffset
에 대한 가정을하는 데 사용된다고 생각하지만 이는 추정치이므로 항상 정의에 따라 잘못 될 것입니다. 실제 행 높이는 셀 내용과 장치 방향에 따라 완전히 다릅니다.이 tableView textField 자동 레이아웃 오류는 어떻게 해결할 수 있습니까?
더 가까운 추정치를 제공하기 위해 estimatedHeightForRowAtIndexPath
을 구현한다고해도 글리치는 여전히 존재합니다.
그래서 처음부터 시작하여 아래로 스크롤하면 TableView가 contentOffset을 셀 위치와 동기화하여 유지하면서 실제 셀 높이를 인식하므로 모두 잘됩니다. 그러나 모든 실제 셀 높이를 변경하면 UITableView
이 동기화되지 않으므로 스크롤 할 위치를 알 수 없습니다.
는하지만 거기에, 때로는 UITextField
세포가 다른 세포의 상단에 종료됩니다 너무 일어나고 심지어 낯선 것들, 그리고
https://github.com/trapper-/autolayout-glitch
- 테스트합니다.
- 스크롤링, 필드 선택 및 회전과 관련된 많은 시각적 결함을 볼 수 있습니다.
- 간단한 반복 가능한 예입니다.
- 아래로 스크롤하십시오.
UITextField's
의 마지막 쌍 중 하나를 선택하여UITableView
이 스크롤해야 필드를 볼 수 있습니다.- 기기를 회전합니다.
이상적은 아니지만 tableView 인스턴스의 reloadData 호출이 도움이됩니다. 너 해봤 니? –
Autolayout은 UITableView와 잘 작동하지 않습니다. CollectionView 사용을 고려하십시오. 이것은 UITableView의 한계에 관한 훌륭한 글입니다 : https://pspdfkit.com/blog/2017/the-case-for-deprecating-uitableview/ –
'UICollectionView'에는 이러한 종류의 글리치가 없다고 말하고 있습니까? 그렇다면 그것은 훌륭한 해결책이 될 것입니다. – trapper