网络请求库:AFNetWorking
网络图片处理库:SDWebImage
我们的项目在升级完XCode8后,发现有的圆角图片是不能显示的,但是在XCode的View UI Hierarchy工具中查看图层,是存在这个UIImageView控件的,
这个是真机上的界面显示。
这个是View UI Hierarchy工具看到的效果。
首先我是使用cornerRadius给UIImageView设置圆角:
_imageView_photo.layer.cornerRadius = _imageView_photo.width/2.0;
_imageView_photo.layer.masksToBounds = YES;
然后在用AFNetWorking请求到网络数据后,在请求完成的block中使用SDWebImage设置网络图片:
[_imageView_photosd_setImageWithURL:[NSURLURLWithString:dic_baseInfo[@"photo"]]placeholderImage:[UIImageimageNamed:@"News_head"]];
这样写出来的效果就是文章开头提到的情况,_imageView_photo在真机和模拟器上都不显示了,只有用View UI Hierarchy功能可以查看到这个_imageView_photo控件。
经过多次测试发现,
_imageView_photo.layer.cornerRadius = _imageView_photo.width/2.0;
_imageView_photo.layer.masksToBounds = YES;
这两句代码必须和[_imageView_photo sd_setImageWithURL:[NSURL URLWithString:dic_baseInfo[@"photo"]] placeholderImage:[UIImage imageNamed:@"News_head"]];
同时出现在网络请求完成的block中,才能得到预期的效果。
问题算是初步解决了,问题的原因待深入调查。
知道问题原因的伙伴麻烦留言分享,谢谢。
最新更新:
_imageView_photo.layer.cornerRadius = _imageView_photo.width/2.0;
_imageView_photo.layer.masksToBounds = YES;
这两句代码必须出现在网络请求完成的block中(不需要指定哪个block),这种问题也太奇葩了吧