2

私はUIScrollViewのすべてのコンテンツのスナップショットを撮ろうとしています.SOでいくつかのコードを見つけました.すべてのuiscrollviewの場合はスナップショットですが、背景は黒です.コードは次のとおりです。

UIImage* image = nil;

UIGraphicsBeginImageContextWithOptions(_scrollView.contentSize,YES,0.0f);
{
    CGPoint savedContentOffset = _scrollView.contentOffset;
    CGRect savedFrame = _scrollView.frame;

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

    [_scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];
    image = UIGraphicsGetImageFromCurrentImageContext();

    _scrollView.contentOffset = savedContentOffset;
    _scrollView.frame = savedFrame;

}
UIGraphicsEndImageContext();

スナップショットに背景を含めるにはどうすればよいですか?

4

1 に答える 1

0

スクロールビューにないため、背景はスクリーンショットを取得していません。そのため、いくつかのオプションがあります.scrollViewがビューの領域全体を占める場合は、小さな領域を拡大する場合、他の唯一のオプションは、scrollView に背景を配置し、scrollView のスクリーンショットを撮ることです。これは、新しい UIImageView を割り当て、適切な幅、高さ、原点を持つようにフレームをリセットし、それをスクロール ビューに追加し、スナップショットを取得し、これを削除することを意味します。UIImageView

于 2013-10-05T13:53:35.330 に答える