2014-01-15 2 views
2

У меня есть простой UICollectionView и сделайте так, чтобы вы могли выбрать ячейку, а затем сохранить свой выбор. Но угадайте, что? У меня проблема!UICollectionView Selection Lost When Scrolling

После прокрутки выбранной ячейки вне экрана и обратно, она теряет свой выбор. Довольно просто на поверхности. Как я могу остановить это?

Это как-то связано с повторным использованием клеток? Вот мой код:

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *cellIdentifier = @"AircraftConfigurationCell"; 
    SLAircraftConfigurationCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath]; 

    //Customise cell... 

    return cell; 
} 
+0

посмотреть мое сообщение приятель :) – Pavan

ответ

0

У вас есть источник данных, который формируется, возможно, из массива, содержащего модели данных?

Если это так, вы можете отправиться в отличное начало и сможете разобраться в этом выборе прерывистого поведения в кратчайшие сроки!

В файле модели данных .h создать property как так property (nonatomic, retain) BOOL selectedState; и в файле .m инициализацию selectedState к FALSE в методе инициализации вашего объекта данных.

После того, как это сделано в didSelect методе вашего UICollectionView, установите DataObject-х selectedState к YES, что связано с этим индексом клеток/пункт.

Затем, наконец, в вашем методе cellForItemAtIndexPath убедитесь, что вы выполнили проверку экземпляра dataModel, который вы собираетесь установить для cellItem для свойства selectedState. Если его значение «НЕТ» задает для параметра выбораСтиль ничто, в противном случае установите его в «Да».

Раньше у меня была ваша проблема, прежде чем выбор будет потерян при прокрутке, но теперь его управление и результат будут постоянными.