Существует ряд потенциальных проблем с вашей настройкой, включая следующие:
1) Ваш идентификатор повторного использования ячейки очень странный
NSString *CellIdentifier = [NSString stringWithFormat:@"%d, %d",
indexPath.section, indexPath.row];
Идентификатор повторного использования ячейки должен бытьстатическая строка NSString, используемая для удаления ячеек.Не повторное использование ячеек очень дорого, потому что новые ячейки должны быть созданы, а не повторно использованы.Как видно на скриншоте примера, все эти ячейки практически одинаковы, поэтому вы должны использовать один и тот же идентификатор повторного использования:
static NSString *CellIdentifier = @"InventoryItemCell";
2) Вы используете много альфа-прозрачности в своих ячейках.В Core Animation для смешивания альфа-каналов требуется дополнительная вычислительная мощность, а прозрачность должна быть максимально сведена к минимуму, особенно в UITableView
.Вы можете запустить Core Animation Instrument, чтобы узнать, сколько альфа используется в вашем приложении, включив опцию отладки Color Blended Layers:
.наложение, чтобы показать вам, какие части вашего приложения смешиваются в цвете.Зеленый непрозрачный, красный - альфа:
Цель этого состоит в том, чтобы минимизировать количество красного (плохого!) На экране, насколько это возможно, когда происходят анимации.Иногда, не все это может быть устранено из-за требований к дизайну, но максимально возможное его уменьшение даст хорошие результаты.
3) Я не уверен, как вы выполняете закругленные углы на ваших изображениях,но это очень дорого для анимации в табличном представлении, если вы делаете это, округляя углы в CALayer UIImageView.Если вы делаете это в коде, не надо.Гораздо эффективнее сохранять изображения с уже округленным изображением.(Но помните, опять же, о штрафе, понесенном с альфа-смешением!)