2016-09-26 4 views
-1

В моем приложении я использую UIWebview. Он имеет фиксированную высоту и ширину. Мне нужно загрузить содержимое html в этом UIWebview.Загрузить HTML в UIWebview

Я использовал следующий код

self.contentWebView.scalePageToFit = Yes; 
[self.contentWebView loadHTMLString:html baseURL:baseURL]; 

Но моя проблема, если размер содержимого слишком мал, пользователь не может видеть его должным образом. Им нужно увеличить его. Есть ли способ полностью соответствовать контенту в моем веб-представлении.

ответ

0

Сначала я установил прокрутку и внутри scrollView я установил webView.I установил размер контента в соответствии с iPhone, шириной и высотой iPad. В приведенном ниже коде я упомянул об этом. Я пробовал это для своего проекта. Он работает хорошо.

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 

    CGFloat height = [[webview stringByEvaluatingJavaScriptFromString:@"document.height"] floatValue]; 
    CGFloat width = [[webview stringByEvaluatingJavaScriptFromString:@"document.width"] floatValue]; 
    CGRect frame = webview.frame; 
    frame.size.height = height; 
    frame.size.width = width; 
    webview.frame = frame; 

    CGRect screenBounds = [UIScreen mainScreen].bounds ; 
    CGFloat widthForIpad = CGRectGetWidth(screenBounds) ; 
    CGFloat heightForIpad = CGRectGetHeight(screenBounds) ; 
    NSLog(@"The iPad width is - %fl",widthForIpad); 
    NSLog(@"The iPad height is - %fl",heightForIpad); 

    CGFloat widthForIPhone = CGRectGetWidth(screenBounds) ; 
    CGFloat heightForIPhone = CGRectGetHeight(screenBounds) ; 
    NSLog(@"The iPad width is - %fl",widthForIPhone); 
    NSLog(@"The iPad height is - %fl",heightForIPhone); 

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { 
     if ([[UIScreen mainScreen] bounds].size.height == 568) //iPhone 5s 
     scrollView.contentSize = CGSizeMake(320, height+your nedded height); 
     else if ([[UIScreen mainScreen] bounds].size.height == 667) ////iPhone 6,6s,7 
     scrollView.contentSize = CGSizeMake(375, height+your nedded height); 
     else if ([[UIScreen mainScreen] bounds].size.height == 736)//iPhone 6s plus,7 plus 
     scrollView.contentSize = CGSizeMake(414, height+your nedded height); 
     else{ 
     //iPhone 4s 
     scrollView.contentSize = CGSizeMake(320, height+your nedded height); 
     } 
    } 

    else{ 
     if ([[UIScreen mainScreen] bounds].size.height == 1024){ 
     scrollView.contentSize = CGSizeMake(768, height+your needed height); 
     } 
     else{ 
     scrollView.contentSize = CGSizeMake(1024, height+your needed 
     } 
    } 
    int fontSize = 80; 
    NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'", fontSize]; 
    [webview stringByEvaluatingJavaScriptFromString:jsString]; 
    NSString *jsWebViewFontFamilyString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.fontFamily = 'Helvetica'"]; 
    [webview stringByEvaluatingJavaScriptFromString:jsWebViewFontFamilyString]; 
} 

Если вы установили webView внутри scrollView, он отлично работает.

Смежные вопросы