UIScroll查看iPhone中的当前位置
-
05-07-2019 - |
题
假设我在视图中有一个滚动视图&滚动视图的大小为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的位置。你想做什么?
不隶属于 StackOverflow