之前做图片的圆角是使用了一个别人写的类库叫做GBPathImageView,实现起来是相当的复杂啊,重写了UIImageview这个类,不过呢用起来也是很不错的,但是遇到的问题是,在进行图片异步加载的时候,要怎么处理呢,首先是要拿到这个图片,但是图片异步的话,图片首先是不在本地的,那么你重新绘制的话就是一张默认的空图片,最后你要获取新图片再进行绘制,导致的结果就是重复做了两次操作,但是在cell这样的操作,感觉起来是相当的复杂,在你进行这个操作的时候,滑动的cell要做什么呢?
好了,不多说说了,解决方法其实很简答,只怪自己对原生的类库不了解,也不怪别人的。
NSString *defaultImageString = [[NSBundle mainBundle] pathForResource:@"person_default" ofType:@"png"];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(imageViewX,
imageViewY,
imageViewWidth,
imageViewHeight)];
[imageView setImageWithURL:[NSURL URLWithString:[storage fetchCelebrityPicWithId:_personId]]
placeholderImage:[UIImage imageWithContentsOfFile:defaultImageString]
usingActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
CALayer *lay = imageView.layer;//获取ImageView的层
[lay setMasksToBounds:YES];
[lay setCornerRadius:45.0];
圆角的尺寸大家自己定义就好了。
效果很明显。大家可以尝试一下。
参考的文章: