void CAAutoCollectionView::clearData() { m_mpUsedCollectionCells.clear(); m_rUsedCollectionCellRects.clear(); m_pSelectedCollectionCells.clear(); m_rCollectionViewSection.clear(); for (int i = 0; i < m_vpUsedCollectionCells.size(); i++) { CACollectionViewCell* cell = m_vpUsedCollectionCells.at(i); CC_CONTINUE_IF(cell == NULL); m_mpFreedCollectionCells[cell->getReuseIdentifier()].pushBack(cell); cell->removeFromSuperview(); cell->resetCollectionViewCell(); } m_vpUsedCollectionCells.clear(); m_pHighlightedCollectionCells = NULL; }
void CACollectionView::recoveryCollectionCell() { CCRect rect = this->getBounds(); rect.origin = getContentOffset(); rect.origin.y -= rect.size.height * 0.1f; rect.size.height *= 1.2f; std::map<CAIndexPath3E, CACollectionViewCell*>::iterator itr; for (itr = m_pUsedCollectionCells.begin(); itr != m_pUsedCollectionCells.end(); itr++) { CACollectionViewCell* cell = itr->second; CC_CONTINUE_IF(cell == NULL); CCRect cellRect = cell->getFrame(); CC_CONTINUE_IF(rect.intersectsRect(cellRect)); m_pFreedCollectionCells[cell->getReuseIdentifier()].pushBack(cell); cell->removeFromSuperview(); cell->resetCollectionViewCell(); itr->second = NULL; } }