gpt4 book ai didi

ios - 为什么第一次加载不正确但刷新后正确加载?

转载 作者:行者123 更新时间:2023-11-29 01:05:29 26 4
gpt4 key购买 nike

所以在我的最后一个问题中,我想知道如何使它成为一个圆圈,但现在我也在尝试调整圆圈的大小。出于某种原因,圆圈没有显示为圆圈(它显示为正方形)。直到我把它拉下来刷新它,然后它才能正确地获取其中的大部分内容。

//-------------------------------------------------------------------------------------------------------------------------------------------------
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
//-------------------------------------------------------------------------------------------------------------------------------------------------
{

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];

PFObject *group = groups[indexPath.row];
//if(group[PF_GROUP_LOGO] != nil){
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ // go to a background thread to load the image and not interfere with the UI
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:group[PF_GROUP_LOGO]]]];
dispatch_async(dispatch_get_main_queue(), ^{ // synchronize back to the main thread to update the UI with your loaded image

cell.imageView.image = image;
cell.imageView.image = ResizeImage(image, 60, 60, 1);
cell.imageView.layer.cornerRadius = cell.imageView.frame.size.height /2;
cell.imageView.layer.masksToBounds = YES;
cell.imageView.layer.borderWidth = 0;
cell.textLabel.text = group[PF_GROUP_NAME];
cell.detailTextLabel.text = [NSString stringWithFormat:@"%d users", (int) [group[PF_GROUP_MEMBERS] count]];
cell.detailTextLabel.textColor = [UIColor lightGrayColor];

});
});
return cell;

}

最佳答案

每当tableview需要回收单元格进行显示时,

cellForRowAtIndexPath就会在主线程上调用。

您开始在后台线程上加载图像,并在主线程上完成后更新回收的单元格

事情是,你不能保证单元格在那一点上没有被回收 - 特别是如果在主线程上更新单元格之前滚动表格 View (或者即使 setNeedsDisplay将在单元格上触发)。

如果您不想在图像加载之前设置单元格的样式,则应该在 prepareForReuse 中使用自定义 UITableViewCell 子类进行设置 - 这样,单元格就准备好了在显示之前。

关于ios - 为什么第一次加载不正确但刷新后正确加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36433124/

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