在IOS中滚动后如何获得滚动视图可见的矩形框架?

时间:2013-09-26 15:22:26

标签: ios uiscrollview

滚动后我无法在滚动视图中获得可见矩形的坐标。因此,当我想在可见矩形中添加子视图时,我不能。我怎么能这样做?

3 个答案:

答案 0 :(得分:5)

CGRect visibleRect = CGRectMake(myScrollView.contentOffset.x, myScrollView.contentOffset.y, myScrollView.contentOffset.x + myScrollView.bounds.size.width, myScrollView.contentOffset.y + myScrollView.bounds.size.height)

滚动后,这应该会显示当前可见的rect。 当你想要计算矩形时,不是你必须决定的。如果您想要动态获取,请使用scrollViewDidScroll方法。如果您想在用户开始滚动时获取它,请在scrollViewWillBeginDragging中执行此操作。如果您想在用户完成滚动并且scrollView停下来之后想要它,请在scrollViewDidEndDraggingscrollViewDidEndDecelerating中执行此操作。

答案 1 :(得分:2)

scrollView的可见矩形始终如下:

CGRectMake(scrollview.contentOffset.x, scrollview.contentOffset.y, scrollview.frame.size.width, scrollview.frame.size.height)

答案 2 :(得分:0)

我不完全确定你在问什么,但是如果你需要将内容偏移作为进行滚动,你可以使用委托方法:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

每次contentOffset更改时都会调用它。

或者你可以使用

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

知道滚动视图的contentOffset它停止减速的秒数。

或者

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

当用户停止平移时,知道滚动视图的contentOffset