У меня есть макет потока представления коллекции, добавленный как подпредставление внутри сегментированного элемента управления. Сегмент относится к категории All, New, Used
.
Моя проблема в том, как мне сохранить состояние представления коллекции для разных сегментов.
Я делаю вызовы API для загрузки данных на All, New, Used
сегменты
Кроме того, каждый раз, когда я переключаю вкладку, я звоню [collectionView reloadData]
, который перезагружает представление сбора, но не совсем ту позицию, где я оставил ранее в этом конкретном сегменте
Например, в All
Сегменте я прокрутил 10 - 15 предметов, затем я переключаюсь на New
Сегмент и прокручиваю 3 предмета, и теперь, если я снова переключу вкладку на All
Сегмент, то положение All
Сегмент также идет на 3-ю позицию
Как это можно решить. Спасибо за терпеливое чтение. Любая помощь мне очень поможет.
Вот пример кода, который я использую для переключения сегмента
-(IBAction)changeSeg:(id)sender{
[collectionView reloadData];
if(segmentedControl.selectedSegmentIndex == 0){
atScrollPosition:UICollectionViewScrollPositionNone animated:false];
typeFlag = 0;
if ([inventoryDetails count] == 0 && totalInventoryCountForAll != 0) {
[self loadMore];
} else if (totalInventoryCountForAll == 0) {
[self setNoCarVisibility: true];
}
}
else if(segmentedControl.selectedSegmentIndex == 1){
typeFlag = 1;
if ([newInventory count] == 0 && totalInventoryCountForNew != 0) {
[self loadMore];
} else if (totalInventoryCountForNew == 0) {
[self setNoCarVisibility: true];
}
}
else if(segmentedControl.selectedSegmentIndex == 2){
typeFlag = 2;
if([usedInventory count] == 0 && totalInventoryCountForUsed != 0){
[self loadMore];
} else if (totalInventoryCountForUsed == 0) {
[self setNoCarVisibility: true];
}
}
}