如何检测具有UIScrollView作为子视图的父视图中的滑动?

时间:2013-01-01 12:30:52

标签: ios uiscrollview gesture

我有3个嵌套视图,主视图(父级) - > UIScrollView - > ImageView的。 我正在构建一个内容查看器,用户可以在其中滑动以从列表中获取下一个/上一个图像。但是我希望只有在用户到达最右边/底部(图像末尾)或最左边/顶角之后才能加载下一个图像。涉及过渡动画,其中下一个/上一个图像在加载下一个项目时跟随滑动。 我该如何实现这一目标?

P.S。:我已经尝试在父视图中添加手势识别器,但它不起作用。

2 个答案:

答案 0 :(得分:0)

你应该使用滑动手势

UISwipeGestureRecognizer *swipe_left = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe_left)];
    swipe_left.direction = UISwipeGestureRecognizerDirectionLeft;
    [yourView addGestureRecognizer:swipe_left];
 UISwipeGestureRecognizer *swipe_right = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe_right)];
    swipe_right.direction = UISwipeGestureRecognizerDirectionRight;
    [yourView addGestureRecognizer:swipe_right];

-(void)swipe_left
{
    //Write your content offset if required
}


-(void)swipe_right
{

   someView.contentOffset = CGPointMake(470, 0);      //Example
}

问候

迪帕克

新年快乐!!

答案 1 :(得分:0)

您似乎正在使用滚动视图移动当前图像,然后当用户遇到两个触发点(左上/右下)中的任何一个时,您想要触发动画并加载下一个图像。如果是这种情况,为什么不使用scrollView委托方法-scrollViewDidScroll:(UIScrollView *)scroller?在该方法中,您可以检查scrollView的contentOffset属性,并将其与当前图像的尺寸进行比较。当contentOffset落在用于触发动画和加载的参数范围内时,请执行此操作。