В настоящее время я рендеринг 10 цветных кругов, которые вы можете выбрать горизонтально. Я хотел бы программно изменить первый элемент в UICollectionView и добавить небольшое изображение камеры в первый элемент. Связанная коллекция - это просто массив значений RGB. Я установил для первого все 0, так что это уникальный цвет, который никогда не будет использоваться.
По первому элементу я не хочу, чтобы это был первый элемент, который прокручивается в поле зрения, а скореекогда вы больше не можете прокручивать и попадаете на буквально первый элемент в коллекции.
func collectionView(_ collectionView: UICollectionView, willDisplay: UICollectionViewCell, forItemAt: IndexPath) {
...
...
//Define the first item as the indexpath 0,0
let firstItem:IndexPath = IndexPath(row: 0, section: 0)
if (forItemAt == myIndexPath)
{
coloredCircle.addSubview(cameraImageView!)
}
else {
cameraImageView!.removeFromSuperview()
}
Итак, выше я думал, что я проверю, появится ли первый элемент, и затем добавлюэто к подпредставлению, иначе я заберу это (потому что это, казалось, складывалось каким-то странным образом).
В любом случае, пробуя это, он демонстрирует какое-то странное поведение, когда появляется первый элементи показывает камеру, но как только я прекращаю прокрутку, она просто исчезает.
Так что, если я прокручиваю медленно, так что первый элемент не виден, а затем медленно прокручиваю его обратно, он появляется и работает правильно!

Но как только я прокручиваю влево до тех пор, пока больше не могу идти, или прокручиваю его довольно быстро, он просто исчезает:

Любые предложенияили как я могу сделать так, чтобы первый круг был постоянно маленькой камерой?