2012-07-06 7 views
0

사용자 지정 셀이있는 테이블을 만들었습니다. 모든 셀에 대해 현재 클릭 한 셀을 움직이는 애니메이션을 만들었습니다. 문제는 예를 들어 색인 행 2가 있고 색인 1을 가진 부모 셀로 돌아가는 현재 움직이는 셀에 있습니다.
나는 애니메이션 셀이 부모 앞에 있다는 것을 원합니다. iPhone 화면의 크기 인 480px 이상으로 테이블을 스크롤 한 다음 인덱스 행 2와 동일한 셀을 다시 클릭하면 셀이 부모 셀과 잘 겹칩니다. 문제는 아래 그림과 같습니다.겹치는 표 셀 애니메이션

Image showing the problem

답변

0

당신은 셀을 얻고 뷰 계층에서 앞으로 가져옵니다해야합니다. 그러나 셀을 가져 오는 것은 즉시 명백하지 않습니다. tableView:cellForRowAtIndexPath: 컨트롤러에 호출 할 수 없습니다. 컨트롤러에서 새 셀을 dequeue하거나 생성하기 때문입니다. 대신 테이블보기에서 cellForRowAtIndexPath:으로 전화하여 애니메이션을 시작하기 전에 앞에 가져 오면됩니다. 가 화면에 표시되지 않는 경우가 nil을 반환하기 때문에

UIView* theCell = [tableView cellForRowAtIndexPath:someIndexPath]; 
[theCell.superview bringSubviewToFront:theCell]; 

안전하게, 애니메이션을 적용 할 모든 셀에 대해이 작업을 수행 할 수 있습니다.