도구 모음과 스냅 샷을 찍기위한 사용자 지정 단추를 사용하여 UIImagePicker/카메라보기를 만들었습니다. 나는 커스텀 버튼으로 인해 디폴트 방식을 사용하는 것으로 바꿀 수 없으며, 뷰의 꼭대기에 그림을 그려 놓았다.다음 실행 루프 대신 UIView를 즉시 다시 그리기.
단추를 누르면 UIGetScreenImage()를 사용하여 스크린 샷을 찍고 싶습니다. 그러나, 도구 모음은 내가 처음 그것을 숨길 경우에도 이미지에 표시됩니다 :
//hide the toolbar
self.toolbar.hidden = YES;
// capture the screen pixels
CGImageRef screenCap = UIGetScreenImage();
나는 도구 모음이 숨겨진 경우에도,이 함수가 반환되면 다시 그려됩니다 때문입니다 확신 우리가 입력 다음 실행 루프 - UIGetScreenImage가 호출 된 후
나는 다음과 같은 추가을 시도했지만 도움이되지 않았다//hide the toolbar
self.toolbar.hidden = YES;
[self.toolbar drawRect:CGRectMake(0, 0, 320, 52)];
// capture the screen pixels
CGImageRef screenCap = UIGetScreenImage();
가 나는 또한 setNeedsDisplay를 사용했지만, 그래도 문제가 해결되지 중 하나를 다시 한 번 무승부는 현재 함수가 반환 한 후에 발생하기 때문이다.
제안 사항? 감사!
이것은 혼자 였지만 약간의 추가로 효과가있었습니다. 나는 스크린 샷 선택기를 [self performSelector : @selector (captureScreen) withObject : nil afterDelay : 0];라고 불렀다. 그 일은 끝났어. 리드 주셔서 감사합니다! –
[self performSelector : @selector (captureScreen) withObject : nil afterDelay : 0]; 실제로 "captureScreen"은 다음 실행 루프에서 실행됩니다. –