前言
今天遇到了一个问题,产品以前设计了一个页面,里边的用户头像是圆形的。当时做的时候也没注意,谁知道圆形不是规则的圆形,而是有些地方有些小猫爪印在圆形的外面。然后就考虑怎么来实现这个需求,我这里有2种思路来处理
- 把圆形切成一个图层,然后外面的爪子也当做一个图层。也就是说这个地方,本来可以用一个UIImageView,现在要用2个。摆放位置之类的到没有什么问题,主要有2点需要考虑
- 使用SDWebImage加载的时候,使用placeholder图片,要判断
- 因为需求问题,我在别的页面,会把在这个页面获取到的用户头像数据传过去,所以,在别的页面,也要加判断,或者新建两个UIImageView.但是又由于另一个页面中的控件是在tableview上的呈现的,修改起来比较麻烦,所以放弃了这个思路。
- 另一个方式:因为美工给的图是
png
格式的,也就是说默认背景色是透明的
,所以,我们可以不修改这个页面放置的UIImageView的cornerRadius
,就默认放一个正方形的,但是想要用户的照片是圆形的。所以,我们可以把用户上传的照片修改成圆形
这就是今天的重点了。
废话不多说了。直接上代码
///把图片裁剪成圆形
//两个参数 image: 需要修改的图片
//inset: 内部偏移
-(