2012-05-17 54 views
3

我使用ICarousel製作電子相冊。當您滑動相冊時,ICarousel的默認設置是它將移動一段距離。我需要的僅僅是一張幻燈片一張。我發現ICarousel不是基於ScrollView的,所以我無法弄清楚如何實現我的目的,是否有人知道它?如何設置ICarousel爲一個圖像滑動一次

回答

5

我會建議關閉本機滾動並附加一個PanGestureRecognizer,它利用了scrollByNumberofItems方法。

[iCarousel setScrollEnabled:NO]; 

那麼你gestureRecognizer內:

[iCarousel scrollByNumberOfItems:1 duration:0.25]; 

我這個嘗試自己和它的工作很大。

+0

你在哪裏寫代碼? [iCarousel scrollByNumberOfItems:1 duration:0.25]; – Luda

+0

你曾經決定要旋轉木馬滾動的地方。對我來說,我把它放在PanGestureRecognizer中。當手勢被識別時,我用上面的代碼行觸發了傳送帶滾動。 – MobileVet

5

更新的答案與較新版本iCarousel的:現在

iCarousel通過設置支持單頁刷卡 pagingEnabled = YES。

0

我實現了類型iCarouselTypeCoverFlow設置:

//In ViewController.m 
self.carousel.pagingEnabled = YES; 


//In iCarousel.m change for smooth animation 
-(void)scrollByOffset:(CGFloat)offset duration:(NSTimeInterbal)duration{ 
    if (duration > 0.0) 
    { 
     _decelerating = NO; 
     _scrolling = YES; 
     _startTime = CACurrentMediaTime(); 
     _startOffset = _scrollOffset; 
//  _scrollDuration = duration; 
// set constant duration instead 
     _scrollDuration = 1.0; 
     _endOffset = _startOffset + offset; 
     if (!_wrapEnabled) 
     { 
      _endOffset = [self clampedOffset:_endOffset]; 
     } 
     [_delegate carouselWillBeginScrollingAnimation:self]; 
     [self startAnimation]; 
    } 
    else 
    { 
     self.scrollOffset += offset; 
    } 
} 
0

修改iCarousel源代碼iCarousel.m文件可以做到這一點!

- (void)didPan:(UIPanGestureRecognizer *)panGesture { 

...... 

    case UIGestureRecognizerStateChanged: { 
      CGFloat translation = _vertical? [panGesture translationInView:self].y: [panGesture translationInView:self].x; 

      translation = translation * 0.35; // Add This line to change the really translation. 

      ...... 
    } 
} 

這解決我的問題,希望能幫到你!

相關問題