2013-06-25 2 views
1

Я смотрел на этот код здесь, который позволяет сделать снимок либо верхней видимой части UIScrollView или всего UIScrollView:Сделайте снимок экрана UIScrollView, начиная с пункта contentOffset?

Getting a screenshot of a UIScrollView, including offscreen parts

То, что я хочу, чтобы сделать скриншот только часть от contentOffset onwards, так как UIScrollView может быть довольно длинным, и поэтому потребуется некоторое время, чтобы сделать снимок экрана. Можно ли сделать это?

ответ

0

Я задал подобный вопрос перед Taking screenshot of Part of Screen

Вы можете взять скриншот того, что пользователь видит в терминах 320 х 480, но вы не можете взять скриншот части экрана. Координаты X и Y абсолютно не влияют на то, где начинается/останавливается скриншот.

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);