2012-01-24 5 views
0

저는 현재 epub 응용 프로그램을 만들고 있습니다.동기 UIWebview 요청

그래서 내 epub (html)을 렌더링하기 위해 UIWebView를 사용합니다. 하지만 애니메이션의 경우 동기식으로 요청을로드하고 싶습니다.

어떻게 할 수 있습니까?

sendSynchronousRequest를 사용하려고했지만 성공하지 못했습니다 (내 요청은 여전히 ​​비동기였습니다).

NSError * error; 
NSURL * url = [NSURL URLWithString:@"http://www.yoururl.com"]; 
NSString * htmlContent = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error]; 

그리고 부하 HTML :

[webView loadHTMLString:htmlContent baseURL:url]; 

답변

2

UIWebView이 HTML을 렌더링 할 때 지연이 발생하여 사용자에게 빈 페이지를 표시하지 않도록하고 잠시 후에 또는 렌더링 된 페이지 만 표시하면 내가 올 수있는 유일한 방법입니다. 이를 처리하는 것은 다음과 같습니다 :

  1. 처음에는 UIWebView이 숨겨져 있습니다.

  2. webViewDidFinishLoad을 정의하면 웹 뷰를 볼 수있게됩니다.

당신이 당신의 UIWebView contaning보기에 넣고이 접근 방식의 alpha 제대로, 당신이 얻을 수있는 좋은 전환을 정의합니다.

+0

그런 트릭을 만들었습니다. 감사합니다. – kevinooo

-1

난 당신이 가진 문자열로 HTML을 얻을 수 있다고 생각 비동기는 전자의 경우 사용자 인터페이스가 정지되는 것입니다. 원하는 효과가 있다면 요청을 실행할 때 모든 userInteractionEnabled 속성을 NO으로 설정하고 요청이 완료되면 다시 전환하십시오 (connectionDidFinishLoading:).

+0

여전히 작동하지 않습니다. 대부분의 작업은 동 기적으로 수행되지만 [webView loadHTMLString : htmlContent baseURL : url]은 수행되지 않습니다. – kevinooo