2011-12-13 3 views
1

탭을 눌렀을 때 셀을 펼치는 섹션 헤더가있는 tableView를 구현했습니다. 이 섹션 헤더에 꽤 많은 단지 하나의 큰 버튼을 Si 및 눌렀을 때 세포가 삭제 한 후 전화를해야하는 계산 :SectionHeader 애니메이션 열기/닫기

[tableView beginUpdates]; 
//delete necessary cells 
[tableView endUpdates]; 

내 문제는 이것의 애니메이션에있다. 하나의 섹션을 연 다음 다른 테이블을 열거 나 tableView를 스크롤하지 않고 동일한 섹션을 닫을 때 제대로 작동합니다. 그러나 테이블 뷰를 스크롤 한 다음 다른 뷰를 열면 매우 이상한 일이 발생합니다. 섹션 머리글 중 하나가 화면 아래쪽으로 밀린 다음 다시 그 자리로 돌아갑니다. 애니메이션의 경우 그냥 deleteRowsAtIndexPathsWithAnimation으로 전화하고 자동 tableView 애니메이션 유형의 반대 인서트 메소드를 호출하면됩니다. 왜 이런 일이 일어나는 지 아는 사람이 있습니까?

TVAnimationsGestures라는 Apple 샘플 코드가 있습니다 (내 테이블에서와 동일한 기능을하는 tableview를 검색하면 나타납니다). 코드와 문제를 더 자세히보고 싶다면 체크 아웃해야합니다. 확인

감사합니다,

+0

나는 그것이 왜 일어나는 지 모른다. 그러나 나는 그것이 섹션 제목의 행동과 관련이 있다고 생각할 것이다. 스크롤 할 때 섹션 제목이 화면 상단이나 하단에 "수집"되어 다음 섹션 제목으로 바뀝니다. 이로 인해 테이블보기가 왜곡 될 수 있습니다. – gurooj

+0

감사합니다. gurooj, 나는 당신이 뭔가있을 것 같아요. 테이블 뷰가 원래 위치에서 옮겨 졌을 때만 발생한다는 것은 이상한 일입니다. –

+0

섹션 제목에 대한 특수 애니메이션이 호출되어야합니다. – gurooj

답변

0

한 것은 당신이 numberOfSectionInTableView 및 numberOfRowsInSection에서 반환하는 값이다.

나는 tableview가 그것들을 호출 할 때 스크롤을해야한다고 생각한다. 그래서 당신이 tableview의 행 수가 돌아가고있는 것에 불일치가 생기면 이상한 일들이 일어날 수있다.

따라서 행을 제거 할 때 반환되는 섹션의 행 수를 업데이트해야합니다.

+0

아이디어를 주셔서 감사합니다. 그러나이 문제를 이미 올바르게 처리했다고 생각하므로 문제는 아닙니다. –