2011-01-28 3 views
4

에 그리면 UIView가 생성되고 작은 snow.png가 계속 유지되고 UIView에서 제거되어 눈이 내리는 효과를 시뮬레이션합니다.UIView와 모든 하위 뷰를 Context

그런 다음 화면을 이미지로 캡처하고 싶습니다.

UIGraphicsBeginImageContext(self.uiviewPreview.bounds.size); 
[self.uiviewPreview.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); 

참고 : self.uiviewPreview는 UIView입니다.

하지만 저장된 jpg에서 UIview의 이미지 만 볼 수 있습니다. 그러나 그 순간에 추가 된 모든 하위 뷰는 저장되지 않습니다.

나는 renderInContext가 올바른지 또는 그것은 올바른 방법 그리고 그것은 작동합니다

답변

1

사용 여부를 알고 싶습니다.

이 메서드에는 하나의 큰 결함이 있으며 레이어 애니메이션 (알파, 자동 크기 조정, 위치 변경 등)의 실제 상태가 반영되지 않습니다. 애니메이션을 적용하면서 레이어를 그리면 작동하지 않습니다.

+0

layer renderInContext는 서브 뷰를 수행하지 않으므로 직접 처리해야합니다. – jjxtra

관련 문제