긴 문자열 목록이있는 테이블보기가 있습니다. 각 섹션에 대한 헤더, 오른쪽에있는 색인 및 검색 버튼이 있습니다. 이것은 IBIS가 아닌 UISearchDisplayController를 사용하여 프로그래밍 방식으로 구현되었습니다. 검색 버튼이 활성화되면UISearchDisplayController 취소 단추가 머리글과 색인을 새로 고치지 않습니다.
는 취소 버튼의를 클릭
if ([self.searchDisplayController isActive])
문제는, 요구해서, 나는 (titleForHeaderInSection
)에 헤더를 숨기고, (sectionIndexTitlesForTableView
에서) 인덱스를 숨기기 헤더와 색인은 처음에는 숨겨져 있습니다. 내가 (searchBarCancelButtonClicked
에서) [self.tableView reloadData]
에 전화를 걸었지만 작동하지 않습니다.
내 viewWillAppear
에 [self.tableView reloadData]
이 있는데, 이는 한 가지 방법으로 도움이됩니다. 행을 선택하고 스택에 다른보기를 밀어 넣은 다음이 표로 돌아가서 원하는대로 헤더와 색인이 표시됩니다.
내가 뭘 잘못하고 있니?
니스. 고맙습니다. – coco
여러분을 환영합니다! 또한 reloadData가 발견 한 애니메이션을 취소하기 때문에 다시로드와 함께 행 삽입/삭제 애니메이션을 수행하려는 경우 때때로 0보다 큰 지연 시간을 넣으십시오 (0.3 작동). – Bogatyr