2014-10-31 5 views
1

Я не знаю, была ли эта тема задана раньше, но я делаю поиск, прежде чем задавать этот простой вопрос, что-то вроде «UICollectionView cycling cells» «UIColloectionView Infinite Loop».Как зацикливать набор ячеек в UICollectionView?

Если сообщение дублируется, я извиняюсь за это ...

У меня был Horizontal Collection View в качестве слайдера в моем приложении, 5 изображения будет показано, как можно установить функцию при прокрутке до конца (пятые элементы) и скользить вправо и перемещаться в первые ячейки? также, если пользователь прокручивает первый элемент и сдвигается влево, он покажет пятый элемент? Благодарю.

SDK: IOS 7

Спасибо много ~

+0

Посмотрите на [этот вопрос] (http://stackoverflow.com/a/26350498/3985749) - он будет обрабатывать прокрутку вперед, хотя, возможно, не прокрутку назад (хотя это не должно быть сложно) – pbasdf

ответ

0

я написал глупую программу для управления этим

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 
{ 
    CGFloat pageWidth = _sliderCV.frame.size.width; 
    self.pageControl.currentPage = _sliderCV.contentOffset.x/pageWidth; 
    NSLog(@"%f", _sliderCV.contentOffset.x); 

    CGFloat firstSlide = 0.f; 
    CGFloat lastSlide = pageWidth * 4; 

    NSLog(@"contentOffset = %f, firstSlide = %f, SelFirstCount = %li",_sliderCV.contentOffset.x, firstSlide, (long)selFirstCount); 
    if (_sliderCV.contentOffset.x == firstSlide) { 
     if (selFirstCount == 0) { 
      selFirstCount += 1 ; 
      NSLog(@"%li", (long)selFirstCount); 
     } else { 
      NSLog(@"Move to Last"); 
      [_sliderCV setContentOffset:CGPointMake(lastSlide, 0) animated:YES]; 
      selFirstCount = 0; 
      self.pageControl.currentPage = 4; 
      selLastCount = 1; 
     } 
    } else if (_sliderCV.contentOffset.x == lastSlide) { 
     if (selLastCount == 0) { 
      selLastCount += 1; 
     } else { 
      [_sliderCV setContentOffset:CGPointMake(firstSlide,0) animated:YES]; 
      selLastCount = 0; 
      self.pageControl.currentPage = 0; 
      selFirstCount = 1; 
     } 
    } else { 
     NSLog(@"Clear"); 
     selFirstCount = 0; 
     selLastCount = 0; 
    } 
} 
Смежные вопросы