假设我在视图中有一个滚动视图&滚动视图的大小为320宽度,2000高度。

当用户滚动&减速停止,我想知道滚动视图停止的位置?

即。 300px或400px或600px。

有帮助吗?

解决方案

使用scrollview.contentOffset。

其他提示

您可以使用以下两种方法在滚动后跟踪原点的坐标。这是两个委托方法符合您的UIScrollView类。

-

 (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)newScrollView
{
    NSLog(@"scrollViewDidEndScrollingAnimation");
    CGPoint p = scrollView.contentOffset;


    int curr= floor(p.x/320);

    NSLog(@"x=%f,y=%f,curr=%d",p.x,p.y,curr);

}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)newScrollView
{

    [self scrollViewDidEndScrollingAnimation:newScrollView];

}

当滚动视图完成滚动时,会触发一些事件到其 UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

您可以在委托中实现这些方法,以找出 UIScrollView 的新 contentOffset

@property(nonatomic) CGPoint contentOffset

通过查看其frame rect,您可以找到任何视图相对于其superview的位置。你想做什么?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top