2012-07-13 2 views
1

보이는 셀뿐 아니라 모든 셀 수에 대해 내 tableview의 스크린 샷을 찍고 싶습니다. 행 수는 동적입니다.TableView의 화면 캡처 보이는 셀뿐 아니라 사용 가능한 모든 셀

30 개의 행이있는 경우 한 화면에 30 개의 행을 모두 넣을 수 있습니다. 난 내가 화면의 모든 세포하지만, 화면의 다른 모든 부분이 비어 보이는 세포를 제외지고있어이 코드

self.tblView.contentSize.height 

로 사용의 tableview의 총 높이 노력했다. 나는 화면을 코드 아래 사용하고

어떤 도움을

- (UIImage *)captureView:(UIView *)view 
{ 
CGRect screenRect = [[UIScreen mainScreen] bounds]; 
screenRect.size.height=self.tblView.contentSize.height; 

UIGraphicsBeginImageContext(screenRect.size); 

CGContextRef ctx = UIGraphicsGetCurrentContext(); 
[[UIColor blackColor] set]; 
CGContextFillRect(ctx, screenRect); 

[view.layer renderInContext:ctx]; 

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 

UIGraphicsEndImageContext(); 

return newImage; 
} 

덕분에 촬영.

+0

나는 이것이 세포가 빠져 나오지 않기 때문에 단지 스크린 샷을 찍는 것보다 더 복잡하다고 생각한다. –

+0

@Alex Terente, 모든 세포를 포착하는 대체 방법이 있습니까? – Nikunj

+0

CGContext에 모든 것을 그릴 수 있으며 해당 컨텍스트에서 이미지를 가져올 수 있습니다. –

답변

1

"화면 캡처"는 화면 캡처입니다. 표시된 내용 이외의 내용은 캡처 할 수 없습니다. 프로그래밍 방식으로 테이블 뷰를 테이블 높이만큼 스크롤 한 다음 이미지를 병합 할 때마다 여러 가지 캡처를 만드는 것 이외의 다른 솔루션은 없습니다.

+0

이것은 해결책이 될 수 있습니다. –