1

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

获取 UIScrollView 的屏幕截图,包括屏幕外部分

我想要的是从 contentOffset 开始截取部分截图,因为 UIScrollView 可能很长,因此截取它需要一段时间。是否有可能做到这一点?

4

2 回答 2

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);
于 2013-06-25T16:54:44.017 回答
0

在截取部分屏幕截图之前我曾问过类似的问题

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

于 2013-06-25T16:15:02.597 回答