2012-08-23 2 views
1

뷰에 UIWebView를 추가하고 해당 뷰를 ScrollView에 추가합니다.적절한 UIWebView 콘텐츠 높이를 얻는 방법은 무엇입니까?

UIWebView 콘텐츠의 프레임을 가져오고 싶습니다. 그러면 프레임을보기 및 스크롤보기로 설정할 수 있습니까?

나는 우리가 자바 스크립트를 사용하여 높이를 얻을 수 있습니다. 아래 언급으로 : 내가보기를 회전 didRotateFromInterfaceOrientation::(UIInterfaceOrientation)fromInterfaceOrientation 방법에있는 UIWebView 콘텐츠의 높이를 계산하고

float height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] floatValue]; 

그러나 때, 다음 내용 높이가 증가 하였다.

그럼 오리엔테이션을 회전 할 때 어떻게 적절한 높이를 얻을 수 있습니까?

감사합니다.

- (void) webViewDidFinishLoad:(UIWebView *)webView{ 
    CGRect frame = wvContent.frame; 
    CGSize fittingSize = [wvContent sizeThatFits:CGSizeZero]; 
    frame.size = fittingSize; 
    wvContent.frame = frame; 
} 

그런 다음 회전이 방법 매번 장치 전화 :

답변

5

이 방법을 채택

- (void) reloadContent 
{ 
    CGRect frame = wvContent.frame; 
    frame.size.height = 1; 
    frame.size.width = wvContent.frame.size.width; // you should change webview's width here. 
    wvContent.frame = frame; 

    [wvContent loadHTMLString:yourHTML baseURL:nil]; // reload webview 
} 

희망 :

+0

UIWebView의 대표 방법에 높이를 계산하는 방법을 추가 할 수 있습니다. 하지만 문제는 계속됩니다 .. –

+0

그리고 내 코드는 다음과 같습니다. http://files.myopera.com/minesh1/Demo_Source/tableViewTest.zip –

+0

이 웹보기에는 장치 회전 후 추가 공백이 있습니다. –

0

당신이 높이를 검색하고 있는지 확인하는 데 도움 때 모든 콘텐츠 로드되었습니다.

당신은 내가 프레임을 재설정 autoresizingMask을 사용하고

- (void)webViewDidFinishLoad:(UIWebView *)webView{ 
    float height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] floatValue]; 
} 
관련 문제