假设我在视图中有一个滚动视图&滚动视图的大小为320宽度,2000高度。
当用户滚动&减速停止,我想知道滚动视图停止的位置?
即。 300px或400px或600px。
答案 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的位置。你想做什么?