Я ищу решение о моем собственном изображении ячейки UITableview.
Я загружаю немного информации (метка + UIimageview) в свою пользовательскую ячейку UITableview, которая отлично работает, но с iOS 12 она не плавная, пока я прокручиваю вниз (она отстает, когда я в первый раз прокручиваю вниз, а затемпока я прокручиваю, все гладко, возможно, это связано с изображением кэша.)
RecipeTableCell *cell = (RecipeTableCell *)[self.UITableView
dequeueReusableCellWithIdentifier:CellIdentifier];
// Configure the cell...
if (cell == nil)
{
cell = [[RecipeTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Display recipe in the table cell
Recipe *recipe = nil;
recipe = [recipes objectAtIndex:indexPath.row];
recupereNomFavoris = [[recipes objectAtIndex:indexPath.row] valueForKey:@"favoris"];
recupereImage = [[recipes objectAtIndex:indexPath.row] valueForKey:@"image"];
recupereNom = [[recipes objectAtIndex:indexPath.row] valueForKey:@"name"];
recupereLien = [[recipes objectAtIndex:indexPath.row] valueForKey:@"lien"];
recupereGenre = [[recipes objectAtIndex:indexPath.row] valueForKey:@"genre"];
}
}
//Display cells informations
cell.nameLabel.text = recipe.name;
cell.genre.text = recipe.genre;
cell.thumbnailImageView.image = [UIImage imageNamed:recipe.image];
Я попытался добавить асинхронное решение, но загрузка изображений занимает более 1 секунды.
dispatch_queue_t queue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
UIImage *image = [UIImage imageNamed:recipe.image];// Load from file or Bundle as you want
dispatch_sync(dispatch_get_main_queue(), ^{
cell.thumbnailImageView.image = image;
});
});
Размер всех изображений от 1 до 20 КБ, и я загружаю их локально.Я использую ограничения в моем IB (вес и ширина + ограничения макета).
Я пытался реализовать SDWEBIMAGE, но он позволяет только загружать изображение URL.
Есть предложения?Я борюсь с этой проблемой