你的位置:首页 > 操作系统

[操作系统]IOS开发之UI中开启动画的方式


UI中开启动画的方式

开启动画是UIImageView中的功能属性 

有渐进式动画和序列帧动画

渐进式动画包括头尾式动画和block式动画

序列帧动画即为在极短时间内播放一组连续的图片所产生的动画效果

首先需要创建一个UIImageView对象为imageView
1.序列帧动画基本步骤

将所要播放的图片数组赋值给UIImageView对象的animationImages属性,它就是一个数组对象

imageView.animationImages=array

设置动画的执行次数(animationRepeatCount属性)

imageView.animationRepeatCount

设置动画的执行时间

imageView.animationDuration

开始动画

[imageView startAnimating]

停止动画

[imageView stopAnimating]

判断动画是否在执行

[imageView isAnimating]

动画延迟多久执行其他方法

[imageView  performSelector:<#(nonnull SEL)#> withObject:<#(nullable id)#> afterDelay:<#(NSTimeInterval)#>]

上面方法中:

   // <#(SEL)#> 就是调用一个方法 ,调用前面使用的对象中的方法

    // <#(id)#> 就是方法传入的参数

    // <#(NSTimeInterval)#> 延迟多少时间去执行SEL中的方法

 

2.block式动画(常用)

直接调用UIView的一个类方法即可

 

[UIView animateWithDuration:<#(NSTimeInterval)#> animations:<#^(void)animations#>

<#(NSTimeInterval)#>动画执行的时间

<#^(void)animations#>块结构体内写入要执行动画的代码

3.头尾式动画

开启动画

UIView beginAnimations:<#(nullable NSString *)#> context:<#(nullable void *)#>]

<#(nullable NSString *)#>所要执行动画的图片名称

<#(nullable void *)#>一般赋值为nil

提交动画

[UIView commitAnimations]

另:在点击执行这些动画的开启方式一般会连带这其他的功能 

比如:图片的放大缩小 会对应的改变按钮的frame center bounds 和transform这些属性 根据具体功能具体判断