2012-12-07 2 views
3

안녕하세요 저는 이미지 저장 작업을 조금만하고, 제스처를 작성하고 튜토리얼을 따라 갔지만 실제로 이미지를 저장하는 마지막 부분에 조금 붙어 있습니다. 어떤 도움을 기꺼이 사전UIWebView의 이미지를 제스처로 카메라 롤에 저장하십시오.

UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTap:)]; 
doubleTap.numberOfTouchesRequired = 2; 
[self.myWebView addGestureRecognizer:doubleTap]; 


} 

-(void) doubleTap :(UITapGestureRecognizer*) sender { 
int scrollPositionY = [[self.myWebView stringByEvaluatingJavaScriptFromString:@"window.pageYOffset"] intValue]; 
int scrollPositionX = [[self.myWebView stringByEvaluatingJavaScriptFromString:@"window.pageXOffset"] intValue]; 

int displayWidth = [[self.myWebView stringByEvaluatingJavaScriptFromString:@"window.outerWidth"] intValue]; 
CGFloat scale = myWebView.frame.size.width/displayWidth; 

CGPoint pt = [sender locationInView:self.myWebView]; 
pt.x *= scale; 
pt.y *= scale; 
pt.x += scrollPositionX; 
pt.y += scrollPositionY; 

NSString *js = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).tagName", pt.x, pt.y]; 
NSString * tagName = [self.myWebView stringByEvaluatingJavaScriptFromString:js]; 

NSString *imgURL = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).src", startPoint.x, startPoint.y]; 
NSString *urlToSave = [self.myWebView stringByEvaluatingJavaScriptFromString:imgURL]; 


/// Stuck at this point to actually get the file 

}

답변

5
NSURL *url = [NSURL URLWithString:urlToSave]; 

UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]]; 

UIImageWriteToSavedPhotosAlbum(image, <#id completionTarget#>, <#SEL completionSelector#>, <#void *contextInfo#>) 

당신은 모든 세 개의 매개 변수를 nil을 통과 할 수있는 튜토리얼 소스를

http://bees4honey.com/blog/tutorial/how-to-save-an-image-from-uiwebview/

감사를 여기 감사하다 될 것이다. 그래서 당신은 당신의 응답을

UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); 
+0

감사를 호출 할 수 있습니다, 그게 내가 찾던 매우 가까운하지만 난 형 NSURL의 매개 변수에있는 NSString 강한 보내기 오류가 있고 난 내가 디버그이있어 제스처를 시도 할 때 __NSCFString isFileURL, 다른 아이디어가 있다면 시도해보고 싶거나 어쩌면 이전에 실수를 한 것입니다. 다시 감사합니다. – gav

+0

지금 시도해보십시오. 네가 가진 끈으로 URL을 만드는 걸 깜빡 했어. 이것은 효과가있다. 나는 위의 대답을 편집했다. – Srikanth

+0

Excellent 매우 훌륭하게 작동합니다. 도움을 주셔서 감사합니다. – gav

관련 문제