들어가면 페이드,하지만 내가 직접 구현하는 방법을 확실 해요.애니메이션있는 UITableViewCell 내용 없음 내가 아이폰 Mail.app 및 SMS.app 응용 프로그램에서이 기능을 눈치 챘을 편집 모드
표준 UITableView에서 사용자가 '편집'버튼을 누르고 삭제 버튼이 위치로 이동하면 콘텐츠보기가 오른쪽으로 밀려 올라감에 따라 빠른 페이드 전환이 수행되어 더 얇은 버전으로 대체됩니다. 그들 자신 (삭제 단추가 차지하고있는 공간을 설명하기 위해). 그것은 또한뿐만 아니라 어떤 부속품이 셀을 볼로 전환에게 삭제 버튼 자체를 퇴색로
[self.tableView reloadRowsAtIndexPaths: [tableView indexPathsForVisibleRows] withRowAnimation: UITableViewRowAnimationFade];
그러나이 맞지 않을 수 있습니다
나는 처음에 편집 모드가 활성화 된 경우이 다음과 같은 방법을 호출하여 수행 한 생각 말하기에는 충분합니다 (매우 이상하게 보입니다). 궁금
, 어떻게 자신을 다시 그리 컨텐츠보기를 강제 할 수있을 것입니다, 다음 테이블이 편집 모드로 들어갑니다 예전를 통해 새로운 그려 버전을 페이드?
는UPDATE :
내 최종 솔루션은 setEditing 접근에 다음 코드를 적용 한 후있는 UITableViewCell의 하위 클래스를하고 있었다 : 갈렙의 대답에 덕분에,이 날 내가 후에 무엇 득점 코드의 마지막 블록 :
-(void) setEditing: (BOOL)editing animated: (BOOL)animated
{
[super setEditing: editing animated: animated];
CATransition *animation = [CATransition animation];
animation.duration = 0.2f;
animation.type = kCATransitionFade;
//redraw the subviews (and animate)
for(UIView *subview in self.contentView.subviews)
{
[subview.layer addAnimation: animation forKey: @"editingFade"];
[subview setNeedsDisplay];
}
}
나는 분명히 분명히해야한다. 성능이 가장 중요하기 때문에, 내 셀의 contentView 안의 모든 것은 CG (즉, drawRect :)를 통해 렌더링되므로, 거기에 그려진 요소를 구체적으로 제어 할 수는 없습니다. 당신이 테이블에 -setEditing:animated:
를 호출 할 때 애니메이션이 일어나는
아! 감사!!! – TiM
위대한 - 다음을위한 감사합니다! – Caleb
나는 이것이 그것을 확실히 커버하는지 모른다. 언급 된 앱은 이미 편집 모드에있는 행이 삭제 버튼 (상태 == 3)을 표시 할 때 동일한 전환을 사용합니다. setEditing : animated :이 문제가 발생하면 호출되지 않습니다. –