滚动后我无法在滚动视图中获得可见矩形的坐标。因此,当我想在可见矩形中添加子视图时,我不能。我怎么能这样做?
答案 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
停下来之后想要它,请在scrollViewDidEndDragging
和scrollViewDidEndDecelerating
中执行此操作。
答案 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
。