如何计算iOS中每个滚动的Scrollview宽度和高度

时间:2014-05-13 04:50:09

标签: ios uiscrollview cgpoint cgfloat

Scrollview用于显示图像以及两个按钮上一个下一个

现在我的问题是当用户滚动图像时我想识别它是从右向左滚动还是反之亦然。为此,我必须计算scrollview contentOffset和scrollview frame size,但我不知道如何计算这些值。 现在我仍然使用:

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset NS_AVAILABLE_IOS(5_0){}

这种方法。

需要任何建议。

2 个答案:

答案 0 :(得分:0)

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView1 willDecelerate:(BOOL)decelerate;
{
    CGFloat pageWidth = scrollView.frame.size.width;

    float fractionalPage = scrollView.contentOffset.x / pageWidth;

    NSInteger page = lround(fractionalPage);

    if (previousPage != page){

        if ([scrollView.panGestureRecognizer translationInView:scrollView.superview].x > 0){

            NSLog(@"-1");
        } else {

            NSLog(@"+1");
        }
    }
}

答案 1 :(得分:0)

嗨,如果你是水平滚动,你会知道你是下一个还是上一个,取决于velocity.x

  

velocity.x> 0?(int)_currentIndex + 1:(int)_currentIndex - 1;

-(void) scrollViewWillBeginDragging:(UIScrollView *)scrollView {


    CGFloat xAxisVisible= self.uiScrollDetails.contentOffset.x;
    self.currentIndex=xAxisVisible/320;

    NSLog(@"Dragging - You are now on page %i",(int) self.currentIndex);
}