首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIImageView设置为imageWithData忽略contentMode

UIImageView设置为imageWithData忽略contentMode
EN

Stack Overflow用户
提问于 2013-07-27 13:34:24
回答 1查看 1.2K关注 0票数 4

在我的自定义tableViewCell中,我有一个填充整个单元格的imageView (不是tableViewCell的默认imageView)。它是用contentMode UIViewContentModeAspectFill在IB (并通过代码)中设置的,并且剪辑到边界。每当我将imageView的映像更改为加载了[UIImage imageNamed:...]的图像时,它就会按期望和期望调整大小并适合imageView。但是,当使用[UIImage imageWithData:...]加载映像集时,图像将被设置,但不会调整大小。

用数据本身加载图像的代码在后台线程中运行,如下所示:

代码语言:javascript
复制
- (void)getImage:(NSString *)URL {
    NSError *error = nil;
    UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:URL] options:NSDataReadingMapped error:&error]];
    if (!error){
        [self.thumbView setImage:image];
        [self.thumbView setContentMode:UIViewContentModeScaleAspectFill];
    }
}

我尝试在layoutSubviews中的主线程上设置映像,但是它总是产生相同的结果--它不会调整大小来填充imageView。我将图片(JPG)添加到应用程序包中,并以编程方式使用[UIImage imageNamed:...]进行设置,但应用程序必须从URL中获取数据。

我还尝试使用UIImageView+AFNetworking类来设置映像异步,而不是创建自己的线程,但这也不起作用。

为什么当UIImageView的contentMode从数据加载时,图像不尊重它呢?任何帮助都是非常感谢的。JPEG和PNG都不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-28 09:47:36

如果其他人在同样的问题上绊倒了,下面是我为解决这个问题所做的努力。

我在IB中创建了一个新的imageView,删除了旧的,只更改了contentMode-value和clipsToBounds value。在tableViewCell.m init代码中,我设置了占位符图像,瞧--一切都像魅力一样工作。

虽然我不知道是什么原因造成的,但可能是Clears内容检查点设置的错误(oops)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17898388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档