我有 3 个嵌套视图,主视图(父)-> UIScrollView-> ImageView。我正在构建一个内容查看器,用户可以在其中滑动以从列表中获取下一个/上一个图像。但是我希望仅在用户到达最右侧/底部(图像的末尾)或最左侧/顶角后才加载下一张图像。有一个过渡动画,其中下一个/上一个图像在加载下一个项目时跟随滑动。我应该如何实现这一目标?
PS:我已经尝试在父视图中添加手势识别器,但它不起作用。
我有 3 个嵌套视图,主视图(父)-> UIScrollView-> ImageView。我正在构建一个内容查看器,用户可以在其中滑动以从列表中获取下一个/上一个图像。但是我希望仅在用户到达最右侧/底部(图像的末尾)或最左侧/顶角后才加载下一张图像。有一个过渡动画,其中下一个/上一个图像在加载下一个项目时跟随滑动。我应该如何实现这一目标?
PS:我已经尝试在父视图中添加手势识别器,但它不起作用。
您应该使用滑动手势
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
}
问候
迪帕克
新年快乐!!
似乎您正在使用滚动视图来移动当前图像,然后当用户遇到两个触发点(左上/右下)中的任何一个时,您想要触发动画并加载下一个图像。如果是这样的话,你为什么不直接使用 scrollView 委托方法-scrollViewDidScroll:(UIScrollView *)scroller
呢?在该方法中,您可以检查 scrollView 的contentOffset
属性并将其与当前图像的尺寸进行比较。当contentOffset
触发动画和加载的参数落在您的参数范围内时,请执行此操作。