Используя метод willDisplayCell
я получил индекс последней видимой клетки:Выделите одну ячейку в то время, в коллекции View
- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath {
indexVisibleCell = [indexPath indexAtPosition:[indexPath length] - 1];
}
где indexVisibleCell
является NSUInteger
, который объявлен в интерфейсе класса. Моя проблема в том, что я хочу переместить только одну ячейку, когда пользователь нажимает на правую или левую кнопку. Я применил этот код для этой цели:
- (IBAction)rightButton:(id)sender {
NSUInteger indexOfScrolledCell;
indexOfScrolledCell = indexVisibleCell;
if (indexVisibleCell < 9) {
NSIndexPath *path = [NSIndexPath indexPathForRow:indexOfScrolledCell+1 inSection:0];
[self.obj_CollectionView1 scrollToItemAtIndexPath:path atScrollPosition:UICollectionViewScrollPositionLeft animated:YES];
}
}
как я покажу 3 ячейки за раз. Используя этот метод действий rightButton, он сдвигает 3 ячейки за раз, а не один. Пожалуйста, помогите мне разобраться, как прокручивать одну ячейку вовремя.
установить 'pagingEnabled' на' YES' для 'UICollectionView'. Либо в IB, либо в Code. – viral
с включенным пейджингом, его просмотр коллекции (с тремя ячейками, показанных за раз) будет прокручивать каждые 3 ячейки, что не является его желательной ячейкой за один раз –