我有一个ImageView
一个TableViewCell
,和我设置的图像,像这样:获得ImageView的原始图象尺寸
[self.contentImageView setImageWithURL:thumbnail_url];
的contentMode
设置为UIViewContentModeScaleAspectFill
,和子视图被裁剪。 这对于纵向或横向的图像效果最佳,但UIViewContentModeScaleToFill
实际上对横向图像效果更佳,而这种效果更为丰富。
因此,我想通过比较宽度和高度来检测图像的方向,并相应地更改contentMode
。
起初,我试图检查/登录ImageView.image
属性,直接从url设置后,但它显示为零。 不确定为什么......?
接下来,我决定把该NSURL
到NSData
对象,然后创建从数据UIImage
,并与伊娃设置ImageView
的形象财产,像这样:
NSData *data = [NSData dataWithContentsOfURL:thumbnail_url];
UIImage *image = [UIImage imageWithData:data];
[self.contentImageView setImage:image];
// Get image.size etc.
这 - 特别是NSData
的呼叫 - 大大减缓了TableViewCell's
的负载,所以我想避免它。
所以,我想知道是否有无论如何要走向ImageView
的未裁剪源图像属性中的比例发生了contentMode
过吗?
你使用AFNetworking吗?我问,因为你调用函数“setImageWithURL”。 (无效)setImageWithURLRequest:(NSURLRequest *)urlRequest placeholderImage:(UIImage *)placeholderImage success:(void(^)(NSURLRequest * request,NSHTTPURLResponse * response,UIImage * image) )成功 失败:(void(^)(NSURLRequest * request,NSHTTPURLResponse * response,NSError * error))failure;“并在“成功”块中打印image.size? – jregnauld
@jregnauld是的,这种方法是AFNetworking的一部分 - 对不起,刚注意到这个(不是我原来的代码)...会试试这个方法... –