ios - tableViewCell에 추가된 뷰를 새로 고치는 방법(전체 셀을 새로 고치지 않음)
曾经蜡笔没有小新2017-06-15 09:23:52
0
3
1160
질문은 제목과 같습니다.
시나리오: 현재 tableviewcell은 세 개의 뷰로 구성되어 있으며 cell.contentView에 추가됩니다. 새로 고칠 때 셀 중 하나의 한 보기에서만 콘텐츠를 새로 고치면 됩니다. 그러나 Refresh Cell 메소드가 실행되면 세 개의 뷰가 함께 새로 고쳐지고 데이터가 변경되지 않은 뷰가 깜박이게 됩니다. 이 시나리오를 어떻게 최적화할 수 있나요?
self.tableView reloadRowsAtIndexPaths: withRowAnimation:刷新会闪,考虑是否是 布局改变了,检测下layoutSubviews을 사용하거나 뷰를 다시 생성하는 경우 이 뷰는 상대적으로 비용이 많이 들므로 FPS 및 캐시 셀 높이를 최적화하세요
는 새로 고침을 구현하는 것을 reloadRowsAtIndexPaths이라고 하는 것입니다. 새로 고침 중에layoutSubviews가 호출되면 레이아웃이 변경되지 않습니다. 처음에 뷰 레이아웃을 설정하고 모델에 전달된 컨트롤 값을 새로 고칩니다. 비동기 렌더링 최적화가 완료되었으며, 각 셀의 높이가 고정되었습니다.
self.tableView reloadRowsAtIndexPaths: withRowAnimation:
刷新会闪,考虑是否是 布局改变了,检测下layoutSubviews
을 사용하거나 뷰를 다시 생성하는 경우 이 뷰는 상대적으로 비용이 많이 들므로 FPS 및 캐시 셀 높이를 최적화하세요는 새로 고침을 구현하는 것을
reloadRowsAtIndexPaths
이라고 하는 것입니다. 새로 고침 중에layoutSubviews가 호출되면 레이아웃이 변경되지 않습니다. 처음에 뷰 레이아웃을 설정하고 모델에 전달된 컨트롤 값을 새로 고칩니다.비동기 렌더링 최적화가 완료되었으며, 각 셀의 높이가 고정되었습니다.
데이터 소스를 통해 제어해야 합니다. 데이터는 셀 재사용과 관련이 있습니다.