У меня есть uicollectionViewController , которая использует пользовательскую ячейку. Существует функция, вызываемой, когда пользователь нажимает на ячейку, чтобы отличить выбранную ячейку, я изменяю цвет фона ячейки на зеленый.
Проблема заключается в том, что когда пользователь нажимает на другую ячейку, предыдущая должна быть не выбранной, будет вызвана другая функция. До тех пор, пока CollectionView не прокручивается, он работает нормально, но когда пользователь прокручивает CollectionView и выбран, один выходит из видимого прямолинейного экрана, моя функция Deselect не работает, и будет две ячейки с зеленым фоном. < /p>
Это демонстрация: < /p>
< /p>
Вы можете видеть на ячейке с зеленым фон, и на другом, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другие End. < /p>
Вот методы выбора и отказа от выбора ячеек: < /p>
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if let cell = collectionView.cellForItem(at: indexPath) as? CategoryCollectionViewCell {
cell.selectItem()
}
}
override func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool {
for _cell in collectionView.visibleCells {
if let __cell = _cell as? CategoryCollectionViewCell {
__cell.deselectItem()
}
}
if let indexPath = collectionView.indexPathsForSelectedItems {
if indexPath.count > 0 {
if let _cell = collectionView.cellForItem(at: indexPath.first!) as? CategoryCollectionViewCell {
_cell.deselectItem()
}
}
}
return true
}
Подробнее здесь: https://stackoverflow.com/questions/443 ... y-selected
Невидимые клетки UicollectionView остаются выбранными [дублировать] ⇐ IOS
Программируем под IOS
-
Anonymous
1751817911
Anonymous
У меня есть [b] uicollectionViewController [/b], которая использует пользовательскую ячейку. Существует функция, вызываемой, когда пользователь нажимает на ячейку, чтобы отличить выбранную ячейку, я изменяю цвет фона ячейки на зеленый.
Проблема заключается в том, что когда пользователь нажимает на другую ячейку, предыдущая должна быть не выбранной, будет вызвана другая функция. До тех пор, пока CollectionView не прокручивается, он работает нормально, но когда пользователь прокручивает CollectionView и выбран, один выходит из видимого прямолинейного экрана, моя функция Deselect не работает, и будет две ячейки с зеленым фоном. < /p>
Это демонстрация: < /p>
< /p>
Вы можете видеть на ячейке с зеленым фон, и на другом, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другой, и другие End. < /p>
Вот методы выбора и отказа от выбора ячеек: < /p>
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if let cell = collectionView.cellForItem(at: indexPath) as? CategoryCollectionViewCell {
cell.selectItem()
}
}
override func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool {
for _cell in collectionView.visibleCells {
if let __cell = _cell as? CategoryCollectionViewCell {
__cell.deselectItem()
}
}
if let indexPath = collectionView.indexPathsForSelectedItems {
if indexPath.count > 0 {
if let _cell = collectionView.cellForItem(at: indexPath.first!) as? CategoryCollectionViewCell {
_cell.deselectItem()
}
}
}
return true
}
Подробнее здесь: [url]https://stackoverflow.com/questions/44335864/invisible-cells-of-uicollectionview-stay-selected[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия