gpt4 book ai didi

iphone - UIImageView 图像未在 GCD 的主线程上更新

转载 作者:行者123 更新时间:2023-11-28 22:40:37 26 4
gpt4 key购买 nike

我有一些代码可以获取缩略图,对其应用 CoreImage 过滤器,然后将其设置为自定义 UITableViewCell 的 imageView属性:

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
^{
CIImage *inputImage = [[CIImage imageWithCGImage:self.thumbnail.CGImage]retain];
CIFilter *filter = [[CIFilter filterWithName:@"CISepiaTone" keysAndValues:
kCIInputImageKey, inputImage,
@"inputIntensity", [NSNumber numberWithFloat:1.0],
nil] retain];
CIImage *outputImage = [[filter outputImage] retain];
CGImageRef cgimage = [self.context createCGImage:outputImage fromRect:[outputImage extent]];
filtersTableViewCellItem.thumbnail = [UIImage imageWithCGImage:cgimage];

[filter release];
[outputImage release];
[inputImage release];
CGImageRelease(cgimage);

dispatch_async(dispatch_get_main_queue(),
^{
UITableViewCell *tableViewCell = [[self cellForRowAtIndexPath:indexPath] retain];

if (tableViewCell)
{
[filtersTableViewCell.activityIndicatorView stopAnimating];
filtersTableViewCell.imageView.image = filtersTableViewCellItem.thumbnail;
}

[tableViewCell release];
});
});

正在正确生成缩略图,但它不会在 imageView 上自行更新。我试过 setNeedsDisplay 没有用。有趣的是,当我使用类似这样的代码,但没有使用自定义 UITableViewCell 时,它运行得非常好。任何人都知道为什么这可能不起作用?

最佳答案

尝试重新加载该单元格:

[self.tableView reloadRowsAtIndexPath:indexPath withAnimation:UITableViewRowAnimationAutomatic]

关于iphone - UIImageView 图像未在 GCD 的主线程上更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14639282/

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