从contentOffset点开始截取UIScrollView的屏幕截图?

时间:2013-06-25 15:45:10

标签: ios objective-c uiscrollview

我在这里查看了这段代码,它可以让你截取UIScrollView的顶部可见部分或整个UIScrollView的截图:

Getting a screenshot of a UIScrollView, including offscreen parts

我想要的是从contentOffset开始截取部分内容,因为UIScrollView可能会很长,因此需要一段时间来截取它。有可能这样做吗?

2 个答案:

答案 0 :(得分:1)

您提到的解决方案基本上调整了滚动视图的大小以匹配其内容的大小,因此整个内容将在没有滚动的情况下呈现,然后被捕获。

如果要应用相同的解决方案,可以调整滚动视图的大小以匹配可见内容的大小+剩余内容的大小,直到结束。

因此,请尝试替换这些行:

_scrollView.contentOffset = CGPointZero;
_scrollView.frame = CGRectMake(0, 0, 
                    _scrollView.contentSize.width, 
                    _scrollView.contentSize.height);

使用:

//_scrollView.contentOffset = CGPointZero; // Don't change the offset
_scrollView.frame = CGRectMake(0, 0, 
                    _scrollView.contentSize.width, 
                    _scrollView.contentSize.height - _scrollView.contentOffset);

答案 1 :(得分:0)

我在Taking screenshot of Part of Screen

之前问了类似的问题

您可以截取用户所看到的320 x 480的屏幕截图,但您无法截取部分屏幕截图。 X和Y坐标对屏幕截图的开始/停止位置完全没有影响。