tableView 滑动滑出动画

简单的UITableViewCell特效 飞入飞出之类的

看了一些最近放出来的控件, 有些是关于UITableViewCell显示的特效.

也有朋友问我咋做. 就写了个简单的介绍.

1. UITableVIew需要实现 - (void)tableView:(UITableView *)tableView willDisplayCell:(TestTableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

- (void)tableView:(UITableView *)tableView willDisplayCell:(TestTableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    [cell animationForIndexPath:indexPath];
}

2. UITableViewCell需要实现 - (void)animationForIndexPath:(NSIndexPath *)indexPath

- (void)animationForIndexPath:(NSIndexPath *)indexPath {
    int row = indexPath.row;
    float radians = (120 + row*30)%360;
    radians = 20;
    CALayer *layer = [[self.layer sublayers] objectAtIndex:0];

    // Rotation Animation
    CABasicAnimation *animation  = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    animation.fromValue [email protected]_TO_RADIANS(radians);
    animation.toValue = @DEGREES_TO_RADIANS(0);
    
    // Opacity Animation;
    CABasicAnimation *fadeAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
    fadeAnimation.fromValue = @0.1f;
    fadeAnimation.toValue = @1.f;
    
    // Translation Animation
    CABasicAnimation *translationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
    ;
    translationAnimation.fromValue = @(-300.f * ((indexPath.row%2 == 0) ? -1: 1));
    translationAnimation.toValue = @0.f;
    
    
    CAAnimationGroup *animationGroup = [CAAnimationGroup animation];
    animationGroup.duration = 0.4f;
    animationGroup.animations = @[animation,fadeAnimation,translationAnimation];
    animationGroup.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    [layer addAnimation:animationGroup forKey:@"spinAnimation"];
}

3. 对应的宏

#define DEGREES_TO_RADIANS(d) (d * M_PI / 180)
时间: 2024-10-13 16:37:19

tableView 滑动滑出动画的相关文章

09.11 jquery04 效果 基本 滑动滑出 淡入淡出 自定义动画 动画操作 工具 浏览器 对象和属性操作核心

# 效果 ### 基本 (width/height/opacity) * show() * hide() * toggle() ### 滑动滑出 (height) * slideUp()       隐藏 * slideDown()  显示 * slideToggle() ### 淡入淡出 * fadeOut()    隐藏 * fadeIn()      显示 * fadeToggle() * fadeTo() 不占用位置 消失之后后面的自动向上移动 ### 自定义动画 * animate(p

头部显示提示,如tableview滑动提示滑回顶部

头部显示提示,如tableview滑动提示滑回顶部 by 伍雪颖 就是在[[[UIApplication sharedApplication] delegate] window]添加要的内容: #import "TipsBar.h" @implementation TipsBar UILabel *tipsLabel; int width; + (void)showInView:(UIView *)view { width = view.frame.size.width; if (ti

Activity左边滑出,右边滑入的动画切换

Activity左边滑出,右边滑入的动画切换 转载请注明出处:http://blog.csdn.net/u012301841/article/details/46920809 大家都知道Android系统默认Activity间的动画切换效果为:左边滑出.右边滑入,按返回键的动画切换效果为:左边滑入,右边滑出.但是现在的手机制造商都定制自己的Rom,像MI UI和锤子OS等之类的手机,导致Android原生的切换动画在不同的手机上发生了改变,有时候我们需要让他变回原生的状态. 这是我在网上盗的一张

Fragment防止自动清理 (ViewPager滑动时,滑出屏幕后被清理)(转)

原文链接:http://www.xuebuyuan.com/2231000.html 这个问题网上搜一搜发现帖子很多,但是博主试了几种好像没有说的那么好用 一. 比如给ViewPager设置长度,以增加缓存的Fragment数目.(不靠谱) 二. 滑出屏幕的时候存储加载的数据,createView的时候重新读取(需要读写数据,不推荐) 下面介绍我自己用到的方法,你根本想不到原来这么简单. 你先要明白Fragment的生命周期如下 此图能清楚的看出Fragment被后台运行后重新创建的过程 onD

jQuery动画效果之滑入滑出slideDown,slideUp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <title>滑入滑出</title> <meta charset="UTF-8"> <style type="text/css&q

iOS中如何创建一个滑出式导航面板(1)

本文将介绍如何创建类似Facebook和Path iOS程序中的滑出式导航面板. 向右滑动 滑出式设计模式可以让开发者在程序中添加常用的导航功能,又不会浪费屏幕上宝贵的空间.用户可以在任意时间滑出导航面板,并且还可以看到当前屏幕上显示的内容. 现在,互联网上有些库已经内置滑出式设计模式,比如John-Lluch开发的SWRevealViewController.如果你在寻找更加快捷和简单的方法,那么使用SWRevealViewController库可能是一个很不错的方法. 不过,如果你是一名DI

iOS之tableView性能优化/tableView滑动卡顿?

本文围绕以下几点展开tableView性能优化的论述? 1.UITableViewCell重用机制? 2.tableView滑动为什么会卡顿? 3.优化方法? 4.总结 1.UITableViewCell重用机制? UITableView只会创建一屏幕(或者一屏幕多一点)的cell,其他都是取出来重用的.每当cell滑出屏幕的时候,就会放到一个集合中,当要显示某一位置的cell时,会先去集合中取,有的话,就直接拿出来显示,没有在创建. 2.tableView滑动为什么会卡顿? cell赋值内容时

Android开发笔记(一百零一)滑出式菜单

可移动页面MoveActivity 滑出式菜单从界面上看,像极了一个水平滚动视图HorizontalScrollView,当然也可以使用HorizontalScrollView来实现侧滑菜单.不过今天博主要说的是利用线性布局LinearLayout来实现,而且是水平方向上的线性布局. 可是LinearLayout作为水平展示时有点逗,因为如果下面有两个子视图的宽度都是match_parent,那么LinearLayout只会显示第一个子视图,第二个子视图却是怎么拉也死活显示不了.倘若在外侧加个H

利用jQuery实现,蒙板随鼠标滑入滑出

今天学习了jQuery的一些知识点,做了一个练习:实现蒙板随鼠标移动,从元素的四个方向滑入滑出.如图: jQuery知识点: 定位:获取相对于父元素的偏移量           position().left           position().top 获取元素相对于当前窗口的偏移量           offset().left           offset().top 步骤: 1.创建父元素.当前对象.蒙板 代码如下: <div class="wrap">