Swift-UIView动画

Swift-UIView动画

2023年7月13日发(作者:)

Swift-UIView动画iOS 中实现动画有好⼏种⽅式,UIView 是最简单的⼀种。UIView 层⾯的动画只是对 layer 层部分属性的封装,我们可以直接操作其中的属性实现动画效果。UIView动画可以设置的动画属性有:1、⼤⼩变化(frame)2、拉伸变化(bounds)3、中⼼位置(center)4、旋转(transform)5、透明度(alpha)6、背景颜⾊(backgroundColor)7、拉伸内容(contentStretch)其中通过transform也可以实现不同的动画效果,例如:平移、缩放、旋转、翻转简单动画//最简单的动画 e(withDuration: 2) { oundColor = = 0 .y += 200 }transform与transform结合使⽤,实现不同的效果e(withDuration: 2) { oundColor = orm = ty .translatedBy(x: -100, y: 0) //平移 .rotated(by: CGFloat(/4)) //旋转 .scaledBy(x: 0.5, y: 0.5) //缩放}optionsUIView 动画⽐较完整的版本并不是上⾯那么简短,还有很多其他的参数可以配置。e(withDuration: , delay: <#T##TimeInterval#>, options: <#T##ionOptions#>, animations: <#T##() -> Void#>, completion: <参数:withDuration:动画的持续时间delay:动画开始之前的延时,默认是⽆延时。options:⼀个附加选项,UIViewAnimationOptions 可以指定多个animations:执⾏动画的闭包completion:动画完成后执⾏的闭包,可以为nil,可以在这⾥链接下⼀个动画。主要的options (UIViewAnimationOptions) :动画执⾏对应的曲线(缓冲).curveEaseIn : 在动画开始时加速.curveEaseOut : 在动画结束时减速.curveEaseInOut : 相当于[.curveEaseIn, .curveEaseOut]的组合,在开始加速和在结束动画时减速.curveLinear :让动画保持匀速动画重复(Repeating).autoreverse:往返动画,从开始执⾏到结束后,⼜从结束返回开始.repeat: 让动画⼀直重复执⾏弹性动画(Spring animations)e(withDuration: <#T##TimeInterval#>, delay: <#T##TimeInterval#>, usingSpringWithDamping: <#T##CGFloat#>, initialSpringVelocity: <#T##CGFloat#>usingSpringWithDamping: 设置弹性动画的阻尼(范围:0.0~1.0),越接近0.0弹性越⼤,反之则越⼩。initialSpringVelocity: 表⽰⼀个初始速度,动画执⾏快慢由他和duration共同决定。这个需要根据实际情况多调试。Transitions 过渡动画过度动画强调的是view改变内容。⼀般有两个⽅法:tion(from: <#T##UIView#>, to: <#T##UIView#>, duration: <#T##TimeInterval#>, options: <#T##ionOptions#>, completion: <#T##((Bool) ->

tion(with: <#T##UIView#>, duration: <#T##TimeInterval#>, options: <#T##ionOptions#>, animations: <#T##(() -> Void)?##(() -> Void)?##() -> Voioptions类型:.transitionFlipFromLeft: // 从左边翻转.transitionFlipFromRight: // 从右边翻转.transitionFlipFromTop: // 从底部翻转.transitionFlipFromBottom: // 从底部翻转.transitionCurlUp: // 卷上去.transitionCurlDown: // 卷下来.transitionCrossDissolve: // 交叉溶解

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689263989a226399.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信