2012-11-22 3 views
1

내가 탭하면 UITableView 셀을 확장해야합니다 (애니메이션으로도 적용). 그러나 도청중인 셀을 알지 못하며 여기서 대답을 보았습니다. Can you animate a height change on a UITableViewCell when selected?탭에서 UITableViewCell을 확장 하시겠습니까?

질문에뿐만 아니라 매우 대중적인 대답 인 것 같습니다. 그러나 셀을 가져와야하므로 heightForRowAtIndexPath 메서드에서 셀을 가져올 수 있습니까?

나는 시도하기 때문에이 :

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 

그러나 heightForRowAtIndexPath 방법이 사용

그것이 내가 생각하는 무한 루프에 잡힐가 실행 처음 (뷰로드)와 같은 응용 프로그램을 충돌합니다.

어쨌든이 접근법을 사용한다면 어떻게이 문제를 해결할 것이라고 제안 하시겠습니까? 세포에 접근해야 해. 또는 어떻게 다른 tableview 셀 (애니메이션) 확장 할 것이라고?

언제나 감사드립니다. 감사합니다.

+0

'setSelected : animated :'와'setHighlighted : animated :'에 대한 오버라이드가있는 커스텀'UITableViewCell' 서브 클래스를 사용하여 heigh 계산 메소드 내에서 트리거링이나 수행보다는 애니메이션을 수행 할 수 있습니까? 필자가 아는 한'setHighlighted : animated :'highlighted = YES는 셀을 탭할 때만 호출되므로, 그것을 오버라이드하고'super' 구현체를 호출하지 않는다면, 수행을위한 유용한 고리가 될 수 있습니다 귀하의 on-tap 애니메이션. – warrenm

답변

0

높이를 그대로 조정하십시오.

나는 그들이 과거에 나를 위해 잘 작동했기 때문에 자동 크기 조정 마스크에서 할 수있는 한 많이 얻으려고 제안했다.

더 세밀하게 제어해야하는 경우 서브 클래스를 만들고 setFrame: 메서드를 재정의하면 프레임의 크기가 변경되는시기를 확인한 다음 적절하게 애니메이션을 설정할 수 있습니다.

관련 문제