之前在其它博客上看到Cell的点击放大效果代码都比较繁复,效果也不是很好.自己写了一个demo 主要代码附带如下
1. TGHomeADTCell 是自定义的cell 子视图就是一个imageView 其中最主要的代码就是下面这句
[cell snapshotViewAfterScreenUpdates:NO], 其实操作的就是这个截图生成的视图. 动画执行的时间和放大效果可以自己设置.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
TGHomeADTCell *cell = [self.homeTable cellForRowAtIndexPath:indexPath];
UIView *tempMoveCell = [cell snapshotViewAfterScreenUpdates:NO];
tempMoveCell.frame = cell.frame;
[self.homeTable addSubview:tempMoveCell];
[UIView animateWithDuration:0.01 animations:^{
tempMoveCell.transform = CGAffineTransformMakeScale(1.05, 1.05);
} completion:^(BOOL finished) {
[UIView animateWithDuration:0.01 animations:^{
tempMoveCell.transform = CGAffineTransformIdentity;
} completion:^(BOOL finished) {
[tempMoveCell removeFromSuperview];
[self.navigationController pushViewController:controller animated:YES];
}];
}];
}