2017-09-11 9 views
0

저는 UITableView를 사용하며 셀을 선택하면 다른 유형의 셀을 다시로드합니다 (최대화 및 최소화 효과 시뮬레이션). 문제는 reloadData() 메서드가 호출 된 이후로 올바르게 애니메이션을 적용하는 방법을 파악할 수 없다는 것입니다.UITableViewCell 애니메이션 최소화 및 최대화

UIView.transition(with: tableView, 
          duration: 0.35, 
          options: .transitionCrossDissolve, 
          animations: { self.tableView.reloadData() 
}) 

을 사용하여 일종의 애니메이션을 만들었지 만 실제로 어떻게 끝까지보고 싶지는 않습니다. 누구든지 똑같은 일을하고 더 나은 해결책을 가지고 있습니까?

답변

1

애니메이션 변경을 원하면 reloadData를 사용하지 마십시오.

reloadRowsAtIndexPaths:withRowAnimation:을 사용하고 변경된 indexPaths를 지정하십시오.

+0

꽤 잘 작동하지만 "자연스러운"애니메이션을 얻을 수없는 것 같습니다. 모든 UITableViewRowAnimationa가 조금 손상된 것처럼 보입니다. 작동 할 사용자 정의 애니메이션의 작은 예제를 제공 하시겠습니까? –

+0

난 단지 UITableViewRowAnimationAutomatic reloadRowsAtIndexPaths의 경우에는 UITableViewRowAnimationFade 될 사용합니다. – trapper

+0

좋아요, 고마워요,이 방법은 훌륭하지만, 저는 꼬리말을 가지고 있기 때문에 제 경우에는 꽤 어색해 보입니다. 그리고 셀 자체 뒤에 애니메이션이 생기고 셀이로드 된 후에 화면을 돌아 다니기 만합니다. –