iOS 转场动画核心内容
2024-09-07 23:45:51
CATransition——转场动画
CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点。
UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果。
属性说明:
属性 | 说明 |
---|---|
type | 动画过渡类型 |
subtype | 动画过度方向 |
startProgress | 动画起点(在整体动画的百分比) |
endProgress | 动画终点(在整体动画的百分比) |
过渡效果设置
type
使用UIView动画函数实现转场动画——双视图
+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion;
参数 | 说明 |
---|---|
duration | 动画持续时间 |
option | 动画类型 |
animations | 将改变视图属性的代码放在这个block中 |
completion | 动画结束后,会自动调用这个block |
CADisplayLink
CADisplayLink是一种以屏幕刷新频率触发的时钟机制,每秒钟执行大约60次左右。
CADisplayLink是一个计时器,可以使绘图代码与视图的刷新频率保持同步,而NSTimer无法确保计时器实际被触发的准确时间。
使用方法:
- 定义CADisplayLink并制定触发调用方法
- 将显示链接添加到主运行循环队列
// 定义
CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(rotationChange)];
// 添加到主循环队列
[link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
- 开始和暂停
// 暂停
link.paused = YES;
// 开始
link.paused = NO;
最新文章
- ASP.NET MVC 随想录——探索ASP.NET Identity 身份验证和基于角色的授权,中级篇
- CDH 的Cloudera Manager免费与收费版的对比表
- 【iCore2双核心板视频教程】 AD模块(iM_AD_GP和iM_AD_SYNC)介绍及数据采集实验三
- java 多线程6(线程的·通讯)
- [转]Compact Normal Storage for Small G-Buffers
- java SWT/Rap 计算器版本2(键盘鼠标兼容)
- 基于Xcode8插件开发~一键检测处理头文件引用
- view测量
- Jenkins配置备份恢复插件ThinBackup
- 记一次深度系统安装至windows系统盘提示挂载为只读模式问题
- 时间格式yyyyMMddHHmmss的大小写,和字母含义
- C++ MFC棋牌类小游戏day5
- php.exe
- 管理oracle 11g RAC 常用命令
- Asp.Net MVC参考资料
- maven windows环境nexus3.0私服搭建
- TED_Topic4:How I fell in love with quasars, blazars and our incredible universe
- Dubbo的容错与负载均衡
- Java集合类中的Iterator和ListIterator的区别
- 基于双下划线的跨表查询 (join查询)
热门文章
- Codeforces 631B Print Check (思维)
- 解决WordPress中字符转义的问题
- Light oj 1233 - Coin Change (III) (背包优化)
- 2016北京集训测试赛(十七)Problem A: crash的游戏
- Jenkins强制设置语言为中文
- Eclipse4.4以上版本不能使用easyExplorer,采用OpenExplorer
- centos中httpd Server not started: (13)Permission denied: make_sock: could not bind to address [::]:8888
- DB11 TCP数据协议拆包接收主要方法
- JAVA Eclipse开发Android程序如何自定义图标
- java查看工具jinfo-windows