美文网首页
iOS中UIView动画

iOS中UIView动画

作者: 落魄的iOS程序员 | 来源:发表于2021-03-31 14:17 被阅读0次

    1、UIView动画

    animateWithDuration: animations:,该方法执行一个动画duration是执行所需时间,第二个是一个block,就是要执行的动画是什么,比如平移、缩放、改变透明度等待。

    animateWithDuration: animations:completion:,该方法相比上一个方法是多了一个动画完成后执行block,在动画结束之后可以做一些事情。

    animateWithDuration: delay: options:animations:completion:,这个方法有多了两个参数,delay是延迟多长时间再开始执行动画,options是动画类型,是一个枚举:

    UIViewAnimationOptionLayoutSubviews:子控件将和父控件一同执行动画UIViewAnimationOptionAllowUserInteraction:在动画过程中允许用户交互 UIViewAnimationOptionBeginFromCurrentState:所有视图从当前状态开始运行 UIViewAnimationOptionRepeat:重复运行动画
    UIViewAnimationOptionAutoreverse :动画执行完之后回到初始的位置UIViewAnimationOptionOverrideInheritedDuration:忽略嵌套动画时间设置UIViewAnimationOptionOverrideInheritedCurve:忽略嵌套动画速度设置UIViewAnimationOptionAllowAnimatedContent:动画过程中重绘视图(适用于转场动画) UIViewAnimationOptionShowHideTransitionViews:用现实隐藏的切换方式代替删除视图
    UIViewAnimationOptionOverrideInheritedOptions :不继承父动画设置或动画类型UIViewAnimationOptionCurveEaseInOut:动画又慢到快执
    UIViewAnimationOptionCurveEaseIn :动画逐渐减速
    UIViewAnimationOptionCurveEaseOut:动画逐渐加速
    UIViewAnimationOptionTransitionNone:没有转场动画效果 UIViewAnimationOptionTransitionFlipFromLeft :从左侧翻转效果 UIViewAnimationOptionTransitionFlipFromRight:从右侧翻转效果 UIViewAnimationOptionTransitionCurlUp:向后翻页的动画过渡效果 UIViewAnimationOptionTransitionCurlDown :向前翻页的动画过渡效果 UIViewAnimationOptionTransitionCrossDissolve:旧视图溶解消失显示下一个新视图的效果UIViewAnimationOptionTransitionFlipFromTop :从上方翻转效果 UIViewAnimationOptionTransitionFlipFromBottom:从底部翻转效果

    2、UIView关键帧动画animateKeyframesWithDuration: delay:  options: animations:参数1动画执行时间,参数2动画延迟执行时间,参数3动画类型,参数4动画执行内容

    需要要配合addKeyframeWithRelativeStartTime:  relativeDuration:  animations:使用,参数1是从什么时间开始(在上面总时间内),参数二是执行动画时长,其中选项类型前面和上面动画等效,下面多了五种:

    UIViewKeyframeAnimationOptionCalculationModeLinear     //选择使用一个简单的线性插值计算的时候关键帧之间的值
    UIViewKeyframeAnimationOptionCalculationModeDiscrete   //选择不插入关键帧之间的值,而是直接跳到每个新的关键帧的值
    UIViewKeyframeAnimationOptionCalculationModePaced      //选择计算中间帧数值算法使用一个简单的节奏。这个选项的结果在一个均匀的动画
    UIViewKeyframeAnimationOptionCalculationModeCubic      //选择计算中间帧使用默认卡特莫尔罗花键,通过关键帧的值。你不能调整该算法的参数。 这个动画好像会更圆滑一些
    UIViewKeyframeAnimationOptionCalculationModeCubicPaced //选择计算中间帧使用立方计划而忽略的时间属性动画。相反,时间参数计算隐式地给动画一个恒定的速度

    3、CGAffineTransform配合UIView动画能实现更多的效果

    CGAffineTransformMakeTranslation实现以初始位置为基准,在x轴方向上平移x单位,在y轴方向上平移y单位

    CGAffineTransformMakeScale实现以初始位置为基准,在x轴方向上缩放x倍,在y轴方向上缩放y倍

    CGAffineTransformMakeRotation实现以初始位置为基准,将坐标系统逆时针旋转angle弧度(弧度=π/180×角度,M_PI弧度代表180角度)

    相关文章

      网友评论

          本文标题:iOS中UIView动画

          本文链接:https://www.haomeiwen.com/subject/gnuohltx.html