Так что фрагмент кода, который вы разместили, не особенно полезен, но это почти наверняка случай неправильной переработки ячеек табличного представления.
Табличные представления «перерабатывают» свои ячейки для эффективности и производительности - когда ячейка прокручивается вне поля зрения, она помечается для повторного использования: когда вы в следующий раз запросите новую ячейку, вам будет предоставлена переработанная ячейка, если она имеется (в противном случае новая ячейка будет создана).
Если все ваши ячейки используют одинаковый макет, это не проблема. Однако, если вы отрегулируете расположение ваших ячеек (как и вы), это может вызвать проблемы, потому что вы, возможно, настроили ячейку для размещения с двумя изображениями и хотите, чтобы она была переработана для ячейки с четырьмя изображениями.
У вас есть два варианта: либо позаботиться о том, чтобы сбросить ваши ячейки по мере необходимости (когда вы запрашиваете новую ячейку, сбросьте все созданные вами параметры просмотра, что в вашем случае будет путем удаления всех суперпредставлений), или создайте разные ячейки с разными идентификаторами для каждого из ваших макетов.
Кстати, просто глядя на ваш текущий код, кажется, что вы захотите рассмотреть некоторые пользовательские ячейки. В настоящее время вы добавляете новые изображения в представление содержимого ячейки, а это значит, что вы никогда не удаляете их каждый раз, когда ваша ячейка перерабатывается, добавляется все больше и больше изображений! Это довольно неэффективно. Лучше создать ячейку с четырьмя видами изображений, готовыми к работе, и вы просто назначаете свойство image
как требуется.