Scrollview目前在iPhone中的位置

时间:2009-10-22 00:21:51

标签: iphone objective-c xcode uiscrollview

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

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

即。 300px或400px或600px。

4 个答案:

答案 0 :(得分:4)

您可以使用以下两种方法在滚动后跟踪原点的坐标。这是两个委托方法符合您的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];

}

答案 1 :(得分:3)

使用scrollview.contentOffset。

答案 2 :(得分:3)

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

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

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

@property(nonatomic) CGPoint contentOffset

答案 3 :(得分:1)

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