Когда пользователь нажимает ячейку в моем collectionView, он получает UIPageViewController. Затем, когда он закончит прокрутку и увидит последнее изображение, закроет представление и вернется к предыдущему контроллеру представления коллекции, мне нужно, чтобы только что нажатая ячейка стала последней в списке collectionViewCell. Я действительно не знаю, как это выяснить?
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
id model = self.dataList.data[indexPath.row];
CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
[self setupCell:cell withModel:model atIndexPath:indexPath];
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
Model *model = self.dataList.data[indexPath.row];
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"SB" bundle:nil];
PageViewController *vc = [sb instantiateViewControllerWithIdentifier:@"PageVC"];
[self presentViewController:vc animated:YES completion:nil];
}
Код в PageViewController:
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
NSUInteger index = ((ViewController *)viewController).pageIndex;
if (index == NSNotFound) {
return nil;
}
index++;
if (index == self.images.count) {
return nil;
}
return [self viewControllerAtIndex:index];
}