【技术实现步骤摘要】
iOS并发动画回调程序的构建方法、回调方法及装置
[0001]本申请涉及软件开发
,具体而言,涉及一种iOS并发动画回调程序的构建方法、回调方法及装置。
技术介绍
[0002]iOS开发中,为提高用户体验,增加APP的趣味性、直观性、营造氛围常常会使用一些动画,单一iOS动画的满足大部分需要,但是某些特定的场景,需要多种样式且多个数量的动画在同一页面并发播放,这时会产生动画回调难以区分,某些动画结束后需要做其他后续逻辑操作往往会面临很大的困难,甚至无从下手。
[0003]目前iOS对于处理高并发动画常用方案大多数是做动画的视图和动画做绑定,通过绑定动画的逻辑在动画结束回调时,做移除动画操作或者动画之后的后续操作,或者采用动画队列的方式做动画和视图之间的隐式绑定操作。
[0004]现有的使用动画视图绑定方案和动画队列具有以下缺点:
[0005]1.使用视图动画绑定的方案,每一个动画都要设置不同的key(用于区分动画),通过key和视图的绑定,动画结束之后要对视图做删除操作,数据管理还要保证线程的安全,实现的复杂性比较高。
[0006]2.使用动画队列可以保证动画按顺序执行,如果出现动画执行的时间不同,也会出现难以区分动画回调的问题。
技术实现思路
[0007]本申请实施例的目的在于提供一种iOS并发动画回调程序的构建方法、回调方法及装置,利用延长代理链方式,通过对动画的代理对象单独管理,实现代理和动画一对一,改变一般写法代理和动画一对多的情况,增加动画的可控性,可以 ...
【技术保护点】
【技术特征摘要】
1.一种iOS并发动画回调程序的构建方法,其特征在于,包括:创建视图控制器;在所述视图控制器中创建n个视图,并添加到所述视图控制器中,n为正整数;在所述视图控制器中创建n个动画对象,一一对应地添加到n个视图中;创建n个代理对象,一一对应地设置为n个动画对象的代理,并增加代理对象对视图的引用,再将所述视图控制器作为每个代理对象的代理,其中,每个代理对象遵循CAAnimationDelegate协议实现
‑
(void)animationDidStop:(CAAnimation*)anim finished:(BOOL)flag回调,且协议方法中增设有代理方法或block回调以通知所述视图控制器动画完成。2.根据权利要求1所述的iOS并发动画回调程序的构建方法,其特征在于,创建n个视图View_i后,i=1,
…
,n,在所述视图控制器中创建n个动画对象,一一对应地添加到n个视图中,包括:在所述视图控制器中创建n个动画对象Animation_i;通过[view_i.layer addAnimation:Animation_i forKey:@"Animation_i"]方法把n个动画对象Animation_i一一对应地添加到n个视图View_i的layer层。3.根据权利要求2所述的iOS并发动画回调程序的构建方法,其特征在于,创建n个代理对象,一一对应地设置为n个动画对象的代理,并增加代理对象对视图的引用,再将所述视图控制器作为每个代理对象的代理,包括:创建n个代理对象AnimationManager_i;将n个代理对象AnimationManager_i一一对应地设置为n个动画对象Animation_i的代理;为n个代理对象AnimationManager_i一一对应地增加对n个视图View_i的引用;将所述视图控制器设置为n个代理对象AnimationManager_i的代理。4.一种iOS并发动画回调方法,其特征在于,视图控制器代理n个代理对象,每个代理对象又分别作为一个视图的代理,每个视图分别添加有一个动画对象,每个代理对象对其代理的动画对象对应的视图进行引用,每个代理对象遵循CAAnimationDelegate协议,且协议方法中增设有代理方法或block回调方法,所述iOS并发动画回调方法应用于任一代理对象,包括:本代理对象代理的视图所关联的动画对象执行结束后,遵循CAAnimationDelegate协议实现
‑
(void)animationDidStop:(CAAnimation*)anim finished:(BOOL)flag回调;利用增设的代理方法或block回调方法通知所述视图控制器动画完成。5.一种iOS并发动画回调程序的构建装置,其特征在于,包括:视图控制器创建单元,用于创建视图控制器;视图创建单元,用于在所述视图控制器中创建n个视图,并添加到所述视图控制器中,n为正整数;动画对象创建单元,用于在所述视图控制器中创建n个动画对象,一一对应地添加到n...
【专利技术属性】
技术研发人员:吴志博,唐进,叶世昌,段凌云,
申请(专利权)人:贵阳语玩科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。