animation tableview

原创 2012年03月26日 16:28:16
[self.tableView beginUpdates];  // remove row exists [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:(rows exists)  withRowAnimation:UITableViewRowAnimationFade];  (chang data source here, for me, it's NSFetchedResultsController)  // insert new rows [self.tableView insertRowsAtIndexPaths:(new rows) withRowAnimation:UITableViewRowAnimationFade];  [self.tableView endUpdates]; 

This code shows animation well, but it has a small problem.

The cells are shows moving animation from frame rect (0, 0, 0, 0) to it's actual position, not only fading animation.

I think problem is that initial frame of cells are (0, 0, 0, 0), so I set up initial frame property of cell in cellForRowAtIndexPath, but it does not work.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    .... 
    cell.frame = CGRectMake(0, indexPath.row * 64, 320, 64); 
    NSLog(@"set frame"); 
    .... 
} 


 

BOOL animateRowsAlpha = NO; 
 
- (void)reloadData { 
    [UIView animateWithDuration:0.2  
                     animations:^{ 
                         for (UITableViewCell *cell in self.tableView.visibleCells) { 
                             cell.alpha = 0.0f; 
                         } 
                     } completion:^(BOOL finished) { 
                         animateRowsAlpha = YES; 
                         [self.tableView reloadData]; 
                     } 
     ]; 
} 
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *cellIdentifier = @"Cell"; 
    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if (!cell)  
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease]; 
 
    if(animateRowsAlpha) 
        cell.alpha = 0.0; 
 
    return cell; 
} 
 
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (!animateRowsAlpha) { 
        return; 
    } 
 
    [UIView animateWithDuration:0.2  
                     animations:^{ 
                         cell.alpha = 1.0f; 
                     }]; 
 
    NSArray *indexPaths = [tableView indexPathsForVisibleRows]; 
    NSIndexPath *lastIndexPath = [indexPaths lastObject]; 
    if(!lastIndexPath || [lastIndexPath compare:indexPath] == NSOrderedSame) { 
        animateRowsAlpha = NO; 
    } 
} 


 

Will above code work for deleting/inserting node into tableview
版权声明:本文为博主原创文章,未经博主允许不得转载。

让你的tableView动起来 —— iOS8 SpringAnimation应用

你是否对一成不变的手机界面感到疲倦,整天拖拉控件面对死板的界面失去兴趣。让你的界面动起来或许是不错的选择。Spring Animation 是一种特殊的动画曲线,自从 iOS 7 开始被广泛应用在系统...
  • qq_24901135
  • qq_24901135
  • 2015年07月08日 14:01
  • 1820

非常简单的几行代码实现炫酷的tableview cell动画

在任何有cell先出现在屏幕上的时候都会有这么一个效果,非常的流畅,也非常有意思(忍不住不停地把玩。。)。实现起来也非常简单,iOS原生支持,几行代码就可以搞定,在众多的tableview代理方法中,...
  • liyunliyun08
  • liyunliyun08
  • 2016年04月26日 13:36
  • 900

给TableView Cell 添加动画

给tableview Cell添加动画 小引 本文介绍如何利用给tableview cell添加动画。其实只需要很少的代码量就可以。本文参考Animating UITableV...
  • u013653715
  • u013653715
  • 2014年02月17日 12:21
  • 1060

TableViewCell的美化及带动画插入行

带动画的插入行: NSIndexPath * indexPath =     [NSIndexPath indexPathForRow:self.memos.count - 1 inS...
  • lk972105
  • lk972105
  • 2014年06月29日 10:08
  • 4057

tablview性能优化&instrument详解

转载自:http://www.cocoachina.com/ios/20150429/11712.html 原文作者:方秋枋(微博) 图形性能 关于图形性能在之前关注的不够多,主要是用前人总结...
  • akka123
  • akka123
  • 2015年08月01日 10:27
  • 480

tableViewCell的依次插入动画

如果有一个小需求当我们的tableView不是直接加载到界面上,而是cell依次展示到我们的界面上只一个动画效果,我们需要怎嘛做呢? 其实很简单,我们数据源有多少 我么就依次 插入多少个cell 不...
  • qq_30513483
  • qq_30513483
  • 2016年06月27日 16:57
  • 3039

Animation & Property Animation 使用

Android中开发动效有两套框架可以使用,分别为 Animation 和 Property Animation; 相对来说,Animator比Animation要强大太多,两者之间的主要区别在于: ...
  • tianjian4592
  • tianjian4592
  • 2015年03月11日 16:39
  • 6857

unity5 动画系统Mecanim事件快速入门 区分animation和animator不再混淆

据说这个是4.6开始的,因为unity我中间很长时间没用过这个,现在重新再u3d5上认识下 首先认识下图标 上面单个的就是animation下面是animator 简单说就是animator是的a...
  • shenmifangke
  • shenmifangke
  • 2015年09月08日 12:31
  • 10331

关于animation简写各参数说明

animation: toOpacity 8s 2s infinite both; animation: 1s .5s linear forwards vanis, 1s 1.5s linear to...
  • yuki_haha
  • yuki_haha
  • 2017年08月23日 15:08
  • 185

[YFHomeViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x79

2015-03-31 16:19:14.422 YFFamilyMall[2839:132453] -[YFHomeViewController tableView:numberOfRowsInSec...
  • zhouxiangstudying
  • zhouxiangstudying
  • 2015年03月31日 16:20
  • 1721
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:animation tableview
举报原因:
原因补充:

(最多只允许输入30个字)