2009-11-06 7 views
2

내 응용 프로그램에서 현재 테이블 뷰에 셀을 추가하고 셀이 모두 추가 된 후 첫 번째 추가 된 셀로 스크롤하려고합니다. 스택에 추가를 호출하고 [tableview reloadData]를 호출하여 추가 된 코드를 수행했습니다. 그러나 테이블에 다시로드하여 선택 항목으로 스크롤 할 수 있음을 나타 내기 위해 사용할 수있는 대리인 또는 uitableview에서 보내는 알림이 있는지 궁금합니다. 원래 viewDidAppear가 호출 될 것이라고 생각했지만 그렇지 않습니다. 어떤 제안?uitableview를 다시로드 한 후 테이블 뷰 스크롤

답변

4

reloadData을 제거하고 insertRowsAtIndexPaths:withRowAnimation:을 사용하여 추가 행을 추가 한 후 scrollToRowAtIndexPath:atScrollPosition:animated:을 사용하여 특정 행으로 스크롤 할 수 있습니다. 이 방법으로 행을 추가하는 것은 reloadData를 호출하는 대신 제 의견으로는 더 "깨끗한"방법입니다.

insertRowsAtIndexPaths:withRowAnimation:을 사용하는 경우 추가중인 행은 표시되지 않으며 '로드'되지 않으며 스크롤 메소드를 사용하여보기로 스크롤되면 '로드'됩니다.

reloadData 메서드가 완료된 후 알림 기능과 관련하여 알림이 없습니다. UITableView의 유일한 알림은 UITableViewSelectionDidChangeNotification입니다.

관련 문제