2013-10-05 2 views
1

Я пытаюсь сделать снимок всего содержимого UIScrollView, я нашел здесь код здесь, и этот код ниже работает на половину, потому что моментальный снимок, если все UIScrollView, но фон черный, это код:Сделать снимок всего содержимого 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(); 

, как я могу иметь также опыт в области создания снимка?

ответ

0

Фон не получает снимок экрана, потому что он не находится в режиме прокрутки, поэтому у вас есть несколько вариантов, если ваш scrollView занимает область всего представления, тогда вы можете сделать снимок экрана self.view вместо , если он занимает небольшую область, тогда ваш единственный другой вариант - поместить фон в scrollView и снять снимок экрана scrollView. Это означало бы выделение нового UIImageView, сброс рамки для правильной ширины, высоты, начала координат, а затем добавление его в вид прокрутки, снятие моментального снимка, затем удаление этого UIImageView

+0

спасибо, что я поместил фон в scrollview ! – Piero

+0

круто, рад, что было просто: D –

Смежные вопросы