2013-05-03 6 views
1

내 앱에 표시해야하는 매우 큰 HTML 문서가 있습니다. CSS 열을 사용하고 가로로 스크롤합니다. 내가하려고하는 것은 문서를 현재 상태로 렌더링하는 UIWebView를 보관하는 것입니다. 따라서 CoreData에서 보관 취소 할 수 있고 렌더링 될 때까지 사용자가 몇 초 동안 기다리지 않아도됩니다.콘텐츠가 렌더링 된 후 UIWebView serialization

[NSKeyedArchiver archivedDataWithRootObject:self.webView]; 

내가 webViewDidFinishLoad 여러 번 호출되는 경우 확인하지만되지 않습니다 : webViewDidFinishLoad가 호출 될 때 그래서 내 UIWebViewDelegate 내부에, 나는 다음과 같은 방법을 사용하여 직렬화 (내용이없는 외부 소스에서 문자열에서로드) . 이 데이터와 핵심 데이터 저장은 실제로 작동합니다. 즉, 다음 번에 앱을 실행하면 저장되고로드됩니다. 그러나 UIWebView 자체를 저장하는 동안 내용을로드 할 것, 전체 절차를 내 용도로 쓸모없는 것 같습니다. 이 방법으로 객체를 저장하는 것에 대한 나의 이해가 잘못 되었습니까? 아니면 단순히 구현의 문제입니까?

감사합니다.

+0

합니까 [이] (http://stackoverflow.com/questions/1720524/iphone-uiwebview-download-complete-page-with-css-and-images?lq=1) 도움이 필요하십니까? – Mar0ux

+0

나는 두렵 습니다만, 아직도 감사합니다. CSS 열은 HTML 문서의 실제 DOM 구조를 변경하지 않습니다. 실제로 그것을하려고하고 jquery columnizer로 열을 렌더링하려고했지만 드래그하고 리소스가 배가 고픈 길 이었기 때문에 마무리조차하지 않았습니다 ... – LaK

+0

안녕 LaK,이 문제를 해결 했습니까? 그렇다면 여기에 답변을 올리시겠습니까? –

답변

0

저는 UIWebview를 보관해야한다고 생각하지 않습니다. 대신 사용자 정의 CSS 요소가있는 HTML 문서 파일을 응용 프로그램의 문서 디렉토리에 저장하고 다음 코드를 사용하여 파일 경로를 사용하여 렌더링 할 수 있습니다.

self.webview.scalesPageToFit= YES;       
[self.webview loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:filePath]]]; 
+0

답변을 주셔서 감사합니다,하지만 내 문제가 해결 될지 의심 스럽다. 내가 원하는 것은 사용자에게 렌더링 시간을 허비하는 것이고, 문제는 이미 핵심 데이터에 저장되어있는 실제 HTML 문자열이 아닙니다. html을 렌더링하는 데 약 10 초가 걸립니다. 처음 렌더링 한 후에 제거해야하는 부분입니다. – LaK

+0

페이지를 구문 분석하고 렌더링하는 데 많은 시간이 걸릴 수 있습니다. 아마 당신은 백그라운드에서 물건을로드하고 숨길 수 있습니다 (필요한 경우에만 표시) 어쨌든 나는 이것이 적절한 해결책이라고 생각하지 않습니다. – Xcoder

+0

동의합니다. 작동하는 경우에도 확실히 해킹입니다 ... – LaK