2012-08-28 4 views
2

UIWebview가 있습니다. 글꼴 크기를 변경하고 싶습니다.글꼴 크기를 변경할 때 UIWebview의 프레임 크기 조정

NSString *jsString = [NSString stringWithFormat:@"document.body.style.webkitTextSizeAdjust= '%d%%'",50]; 
    [t_webview stringByEvaluatingJavaScriptFromString:jsString]; 

문제는 내가 50 %로 폰트 크기를 설정하면,있는 UIWebView의 내용을 아래에 큰 빈 영역이 있다는 것입니다 : 는이를 위해 단순히 자바 스크립트를 사용합니다.

나는 다음과 같은 JS를 실행하여 실제 내용의 크기에 맞게 높이에 내 웹보기의 크기를 조정하려고 노력하지만 항상 100 % 텍스트의 높이가 아니라 50 % 실제 하나를 반환

NSLog(@"font size: %i%%",theHeightIWant); 
    NSString* t_height = [t_webview stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]; 
    NSLog(@"height before: %@",t_height); 

    NSString *jsString = [NSString stringWithFormat:@"document.body.style.webkitTextSizeAdjust= '%d%%'",theHeightIWant]; 
    [t_webview stringByEvaluatingJavaScriptFromString:jsString]; 

    t_height = [t_webview stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]; 
    NSLog(@"height after: %@",t_height); 

---- 로그 ------

font size: 95% 
height before: 932 
height after: 932 
font size: 90% 
height before: 932 
height after: 932 
font size: 85% 
height before: 932 
height after: 932 

내가 대신 document.body.offsetHeight의 document.documentElement.scrollHeight을 사용하려고하지만,이 중 하나가 작동하지 않습니다.

아무도 도와 줄 수 있습니까? 감사.

NSString* t_html = [NSString stringWithFormat:@"<html><body>%@</body></html>",t_htmlPharmaco]; 
    [webview loadHTMLString:t_html baseURL:[[NSBundle mainBundle] bundleURL]]; 
+0

버그가 사라졌지 만 이유를 모르겠습니다 ..... 계속 하시겠습니까? – Imotep

+0

해결책을 얻었습니까? ? 나는 똑같은 문제에 직면 해있다. @Imotep –

+0

내가 기억하지 못했던 것에서 나는 어떤 빈 공간을 남겨두고 선택의 여지가 없다는 것을 기억한다. 그러나 지금부터 3 년이 지났습니다. 잘못된 것일 수 있으며 더 이상 소스 코드에 액세스하여 확인할 수 없습니다. – Imotep

답변

0

는 몸 크기를 변경하는 대신있는 UIWebView scrollerView의 contentsize을 변경하려고 했나 :

편집 : 나는 웹보기로 HTML을로드하는 방법은 다음이다?

내가이있는 UIWebView에 적용되는지 확실하지 오전이

t_webview.scrollView.contentSize=CGSizeMake(width, height); 
+0

본문 크기를 변경하려고하지 않고 글꼴 크기를 변경 한 후 가져 오려고합니다. – Imotep

+0

로드중인 코드를 webview에 게시 할 수 있습니까? – jcesarmobile

+0

첫 번째 게시물 – Imotep

0

같은 것입니다. 하지만 iOS에서 모든 컨트롤 (아는 한)은 콘텐츠를 설정하기 전에 높이 속성을 설정합니다.

그 말은, 내가 webview 안에서 내용을 설정하기 전에 폰트의 크기를 조절하려고 할 것입니다. 아니면 당신이 어떻게하고 있는지, 그리고 webview가 제대로 만들어 졌을 때 webview를 렌더링 할 것입니다. 높이를 조정하십시오.

내에서 콘텐츠 크기를 변경하면서 UIWebView의 크기를 동일하게 유지하려는 경우 다른 질문이 생깁니 까? (그렇다면 @jcesar의 대답을 사용하십시오). 그러나 UIWebView의 크기를 변경하려는 경우 웹보기 크기를 변경해야합니다.

+0

에 스타일 (글꼴 크기)이 webview에로드되는 것에 따라 달라 지므로 컨텐츠를로드하기 전에 스타일을 어떻게 바꿀 수 있는지 보지 못합니다. 콘텐츠 높이에 맞게 webview의 높이를 변경하는 방법을 알고 있지만 콘텐츠 높이가 필요합니다 ... 내 문제는 – Imotep

+0

입니다. 그러면 콘텐츠를 'ViewDidLoad' 및로드에로드해야합니다. 'ViewDidAppear'은 크기를 변경합니다. 그것은 제가 시도하기 시작할 접근 방법이 될 것입니다. – Steven

관련 문제