iOS 实现加载转圈效果
2017-07-13 11:36
951 查看
1、思路:
新建一个view,添加shape,给予一个动画实现。
2、效果图:
[b]
View Code
只有一个类文件(UIView),使用时直接拷贝即可。
其中,关于转圈的前景色、背景色等参数,我没提出来,大家如果有这需求,可以改一下。
代码是Swift实现加载转圈效果。
如果是OC,参考代码思路即可。
enjoy~
新建一个view,添加shape,给予一个动画实现。
2、效果图:
[b]
// // YJDownloadingCircle.swift // k12_sl_iOS // // Created by liyajun on 2017/7/13. // // import UIKit class YJDownloadingCircle: UIView { var loadingLayer:CAShapeLayer! = nil override init(frame: CGRect) { super.init(frame: frame) initViews() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) initViews() } override func awakeFromNib() { initViews() } func initViews() { backgroundColor = UIColor.white } func drawHalfCircle() { loadingLayer = self.drawCircle() loadingLayer.strokeStart = 0.0 loadingLayer.strokeEnd = 0.75 let basicAni = CABasicAnimation(keyPath: "transform.rotation.z") basicAni.fromValue = 0.0 basicAni.toValue = M_PI*2 basicAni.duration = 0.5 basicAni.repeatCount = MAXFLOAT basicAni.autoreverses = false basicAni.fillMode = kCAFillModeForwards self.layer.add(basicAni, forKey: nil) } private func drawCircle() -> CAShapeLayer { let circleLayer = CAShapeLayer() let rect = CGRect(x: 0, y: 0, width: self.frame.size.width, height: self.frame.size.height) circleLayer.frame = rect circleLayer.position = CGPoint(x: self.frame.size.width/2, y: self.frame.size.height/2) circleLayer.fillColor = UIColor.clear.cgColor circleLayer.lineWidth = 1 circleLayer.strokeColor = UIColor.colorWithHex(hex: "FF3B30").cgColor let bezier = UIBezierPath(ovalIn: rect) circleLayer.path = bezier.cgPath self.layer.addSublayer(circleLayer) return circleLayer } }
View Code
只有一个类文件(UIView),使用时直接拷贝即可。
其中,关于转圈的前景色、背景色等参数,我没提出来,大家如果有这需求,可以改一下。
代码是Swift实现加载转圈效果。
如果是OC,参考代码思路即可。
enjoy~
相关文章推荐
- iOS利用CALayer实现动画加载的效果
- Android自定义加载等待Dialog弹窗控件(仿ios效果实现)
- ios通过SDWebImage实现图片加载时的渐变效果
- Android自定义加载等待Dialog弹窗控件(仿ios效果实现)
- Android自定义加载等待弹窗控件(仿ios效果实现)
- iOS点击文字按钮变转圈加载效果
- ios基于MJRefresh实现上拉刷新和下拉加载动画效果
- iOS图片逐渐加载的效果实现
- 使用DialogFragment实现仿ios正在加载动画效果
- iOS程序开发之使用PlaceholderImageView实现优雅的图片加载效果
- 安卓自定义控件-实现IOS版UC浏览器三点加载动画效果
- 今天学习“Asp.net"页面加载中"效果实现”遇到的问题
- js实现图片加载时候逐渐出现的杂色效果
- jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果
- ASP.NET动态加载不同CSS,实现切换皮肤效果
- [转]Asp.net"页面加载中"效果实现
- iOS-实现简单的动画效果
- jquery Ajax 实现加载数据前动画效果
- ASP.NET页面加载中效果实现
- jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果