2010-05-21 9 views
6

UIWebView의 높이와 너비를 조정하여 뷰 내에서 전체 텍스트가 표시되고 사용자가 텍스트를 읽지 않고 스크롤 할 수 있도록해야합니다.UIWebView 너비와 높이 설정

아무도 이해할 방법이 있습니까?

답변

1

내용에 맞게 크기 조정을위한 UIWebView에 대한 특별 조항이 없습니다. scalesPageToFit 속성을 YES으로 설정하여 내용의 크기를 줄이거 나 합리적으로 가장 적당한 크기의 페이지에 맞도록보기를 크게 만들 수 있습니다. 귀하의 질문에서 귀하가 관리하고있는 콘텐츠를 표시하고 있다고 추측합니다. 그렇지 않다면, 내가 원하는 것을 성취하기위한 쉬운 프로그래밍 방식이 있는지 확신 할 수 없습니다.

+0

답을위한 1 톤의 Thaks !!! 그래, YES로 설정 scalesPageToFit 속성을 시도 ....하지만있는 UIWebView + SFHFStringMetrics 카테고리가 유용 할 수 있습니다 위의 제안처럼 – aditya

+0

가 보이는 ... 너무 많은 내용을 축소하고 읽을 수 없습니다. 그것은 그것의 크기를 결정하기 위해 렌더링 된 문서에 대한 몇 가지 자바 스크립트를 호출합니다. – warrenm

8
webView.scalesPageToFit = YES; 

은 참조 :

+0

UIWebView + SFHFStringMetrics를 사용하고 있지만 크기 (0.00,0.00)를 얻음으로써 실수를 저에게 안내 할 수 있습니까? –

4

UIWebView+SFHFStringMetrics는 희망이 옳은 방향으로 당신을 가리 킵니다.

UIWebView에서 stringByEvaluatingJavaScriptFromString: 메서드를 호출하면 UIWebView에서 응용 프로그램의 JavaScript를 실행할 수 있습니다.

// get the height of your content 
[webview stringByEvaluatingJavaScriptFromString:@"document.getElementById('id_of_content_container').offsetHeight;"]; 

// get the width of your content 
[webview stringByEvaluatingJavaScriptFromString:@"document.getElementById('id_of_content_container').offsetHeight;"]; 

위는 getElementById 함수로 전달 어떠한 요소의 폭과 높이있는 NSString 객체를 리턴한다. 이 정보를 사용하여 컨텐츠를 수용 할 수 있도록 UIWebView의 크기를 조정할 수 있어야합니다. 예 :

CGRect frame = webView.frame; 
frame.size.width = 100; 
webView.frame = frame; 

또한 새로운 프레임 크기로 재조정하기 위해 콘텐츠를 다시 scalesPageToFit를 재설정해야 할 수도 있습니다.

또 다른 옵션은 HTML 쪽에서 window.heightwindow.width을 감지하고 JavaScript를 사용하여 UIWebView의 측면에 맞게 콘텐츠를 조정하는 것입니다.

+1

아이디어의 UIWebView의 틀을 변경하지 않다 ... 말, UIWebView에서의 폭 및 높이는 각각 320 및 440로 설정 해주기 아이디어는 해당 320x440보기에 디스플레이 된 HTML 콘텐츠 맞게이다 .. 어떤 제안? – aditya

+0

답변에서 지적한 것처럼, 나는 당신이 애플리케이션 측면에서 이것을 할 수있을 것이라고 생각하지 않는다. 당신은 윈도우의 너비/높이를 결정하고 콘텐츠 컨테이너의 너비/높이와 비교하고 그에 따라 조정하는 HTML 측면에서 자바 스크립트를 작성해야합니다. – Intelekshual

관련 문제