gpt4 book ai didi

ios - UIImageView 设置为 imageWithData 忽略 contentMode

转载 作者:可可西里 更新时间:2023-11-01 06:10:21 25 4
gpt4 key购买 nike

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

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

- (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-class 来设置图像异步而不是创建我自己的线程,但这也不起作用。

为什么图像从数据加载时不遵循 UIImageView 的 contentMode?任何帮助表示赞赏。 JPEG 和 PNG 都不起作用。

最佳答案

如果其他人偶然发现了同样的问题,这就是我所做的修复工作。

我在 IB 中创建了一个新的 imageView,删除了旧的,更改了 contentMode-value 和 clipsToBounds-value。在 tableViewCell.m 初始化代码中,我设置了占位符图像,瞧瞧——一切都很顺利。

虽然我真的不知道是什么原因造成的,但可能是设置了 Clears Graphics Content 复选标记的错误(哎呀)。

关于ios - UIImageView 设置为 imageWithData 忽略 contentMode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17898388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com