2011-02-25 1 views
2

서버에 자주 체크인하고 기사 모음을 아이폰에 다운로드하는 응용 프로그램이 있습니다. 기사는 html로되어 있으며 핵심 데이터를 사용하여 저장됩니다. 기사에 0-n 개의 이미지가 있습니다.UIWebView에서 배경 스레드에 의해 다운로드 된 이미지를 다시로드하십시오.

텍스트와 동시에 모든 관련 이미지를 다운로드하는 것은 너무 느리고 너무 많은 대역폭을 사용합니다. 사용자는 모든 기사를 열지 않습니다. 그들이 한 번 기사를 열면 그들은 그것을 여러 번 열 것입니다.

그래서 필요할 때 이미지를 로컬로 다운로드하고 저장하고 싶습니다.

이러한 기사는 UITableView에 나열되어 있습니다. 기사를 탭하면 해당 기사를 표시하는 UIWebView가 열립니다.

이미 기사와 관련된 이미지를 다운로드했는지 확인하는 기능이 있습니다. UIWebView를 열면 모든 것이 정상적으로 작동합니다.

다운로드 한 이미지가없는 경우 다운로드하여 내 문서 디렉토리에 저장하십시오. 이 일하고 있지만, 이미지가 다운로드하는 동안 응용 프로그램이 매달려 있습니다. 별로 깔끔하지 않습니다.

기사를 빠르게 열고 기사를 열어 이미지를 다운로드하고 싶습니다.

그래서 내가 한 일은 이미지가 다운로드되었는지 확인하는 것입니다. 그 이미지가 없다면 내가 필요한 파일을 "터치"하고 webview를로드합니다. UIWebView가 열리지 만 참조 된 이미지에 데이터가 없습니다. 그런 다음 백그라운드 스레드에서 이미지를 다운로드하고 "더미"이미지를 덮어 씁니다.

이미지와 모든 것을 저장하지만 현재 UIWebView에서 이미지를 다시로드하지 않습니다. 이미지를보기 위해 다시 기사로 돌아와야합니다.

이 문제를 해결하는 방법이 있습니까? UIWebView에서 이미지 만 다시로드 하시겠습니까?

답변

0

내가

[webView reload]; 
와 내용을 다시로드하려고 할 것입니다 당신은 단지 이미지를 다시로드 할 수 있을지 모르겠어요 (나는 당신이 할 수없는 것 같아요 ...하지만 난 잘 모르겠어요)
+0

나는 전체 페이지를 다시로드하지 않도록 할 수 있도록 기대했다. 전체 웹뷰를 다시로드하는 것은 마지막 출구가되어야합니다. – dantastic

1

자바 스크립트로 이미지를 새로 고침하십시오. 이처럼

:

[webView stringByEvaluatingJavaScriptFromString:@"$('img').attr('url','http://123.com/icon.png')"]; 
관련 문제