今天接第三篇,介绍第二个实用的小分类
NO2:带阴影的圆形button
后台请求到的数据,可能是圆图,也可能是方图,如果我们直接用button的切圆角来实现的话,可以发现,切圆角和设置阴影是相互冲突的,所以,我们需要分两步走
1、
首先,我们需要获取到一个圆图
- 这一点我们可以通过给UIImage添加分类,实现裁剪圆图
如果是本地图片,则直接裁剪之后放到Button上即可,但是如果是网络图片,则我们需要用到SDWebImage来请求网络图片
- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletionBlock)completedBlock ;
平时我们可能不太用带block回调的方法,这里需要用到,在block回调里给图片进行裁剪,裁剪成功之后再设置到button上。
还有一点就是,我们在裁剪之前不要直接将图片设置到button上,否则容易造成button上的图片闪烁,所以中间我们可以加一个UIImageView,网络请求到的图片先放到UIImageView上,然后在对他的image进行裁剪,裁剪成功再给UIButton。(这个UIImageView不需要加载在界面上)
2、
接下来就简单了,获得图片之后将图片赋值给UIButton然后对button设置阴影即可。
此致,敬礼,收工~