创建一个UIView的子类,添加两个属性:cirecleRadius用来设定圆的半径
![](https://img.haomeiwen.com/i302138/85e477221144ab39.png)
在初始化方法里面配置circlePathLayer,
![](https://img.haomeiwen.com/i302138/5c6279e02b8b2246.png)
在配置方法里面设定cireclePathLayer的frame,lineWidth,填充颜色和边界线的颜色,并设定当前view的背景色为白色,这样看起来更加清晰
![](https://img.haomeiwen.com/i302138/bbd00ea3211b1322.png)
下面就为cireclePathLayer创建一个path,并使的path的frame的始终保持在view 的中心
先要设定path的frame
![](https://img.haomeiwen.com/i302138/f55a174ce0377552.png)
然后用UIBezierPath画出一个圆形
![](https://img.haomeiwen.com/i302138/1b1c079daa5cc1e1.png)
由于layer没有UIAutoresizing 所以还得在layoutSubView里面调整layer 的frame
![](https://img.haomeiwen.com/i302138/d5d37354081b4a39.png)
初始化之后就可以看到在view的中心画出了一个圆形
之后在添加一个属性progress来显示进度, 把progress的值给layer的strokeEnd属性来动态的画圆
![](https://img.haomeiwen.com/i302138/fac10a1c7f9b99f7.png)
下面将创建一个ImageView的子类,并用SDWebImage来加载一个网络图片
![](https://img.haomeiwen.com/i302138/8d0d6105bc89716a.png)
最后,拖曳一个UIImageView到storyboard上,使他指向CustomImageView
运行将看到:
![](https://img.haomeiwen.com/i302138/9d2670aa3d7e89f2.png)
网友评论