2013-09-26 5 views
2

У меня есть UICollectionView, который поддерживается веб-службой. Сначала я загружаю 100 элементов из службы в представление коллекции. Когда пользователь достигает нижней части представления, я dyanmically загружаю следующую «страницу» содержимого.Динамическое добавление контента в UICollectionView

Это работает, но моя коллекцияView мигает и снова рисует весь вид сверху. Я пытаюсь заставить его только начать рисовать новый контент внизу представления.

код для добавления нового контента в CollectionView:

- (void)insertIntoCollectionView: (int) itemCnt { 

// only do the batchupdate for NON-initial load 

if(curPage != 0) { 
// Add items to main photos array, and update collectionview using batchUpdate 
    [self.collectionView performBatchUpdates:^{ 

    // Get starting size before update 
    int resultsSize = itemCnt; 

    // Create a new array to hold the indexpath for the inserted data 
    NSMutableArray *arrayWithIndexPaths = [NSMutableArray array]; 

    // Add indexpath objects to the new array to be added to the collection view 
    for (int i = resultsSize; i < resultsSize + itemCnt; i++) { 
     [arrayWithIndexPaths addObject:[NSIndexPath indexPathForRow:i inSection:0]]; 
    } 
    // Update the collectionview 
    [self.collectionView insertItemsAtIndexPaths:arrayWithIndexPaths]; 
} 
    completion:nil]; 
} else { 
    [self.collectionView reloadData]; 
} 
curPage++; 

Ничего очевидного? Он функционально работает, но выглядит довольно плохо со всеми мигающими и повторными чертежами.

ответ

1

ОК, удалось исправить это самостоятельно. Я использовал неправильные значения для переменной resultSize. Цикл for должен начинаться в конце текущего подсчета массива и прокручивать число добавляемого элемента, добавляя его в конце. Я начинал с начала индекса массива 1 при создании массиваWithIndexPaths, заставляя его повторно рисовать весь вид.

+0

Не могли бы вы сообщить мне, что сделано, чтобы исправить эту проблему? Я также столкнулся с одной и той же проблемой, пожалуйста, дайте мне знать, какие изменения кода вы сделали – Nishan29

+0

можете ли вы рассказать мне решение для этого? – Nishan29

Смежные вопросы