ios的webView加载本地html图片路径显示及webview适配

在ios中,如果需要用到UIWebView,加载本地html,在本地html中,需要显示图片,路径显示的问题。


loadHTMLString时,将baseURL改为图片路径,在html文件中img标签直接改为图片名字即可。

图片



    NSString *resPath = [[NSBundle mainBundle] resourcePath];
    NSString *htmlFilePath = [resPath stringByAppendingPathComponent:@"index.html"];

    NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"image@3x" ofType:@"png"];
    if ([[NSFileManager defaultManager] fileExistsAtPath:htmlFilePath]) {
        NSString *string = [NSString stringWithContentsOfFile:htmlFilePath encoding:NSUTF8StringEncoding error:nil];
        
        if (string) {
            NSString *htmlString = string;
            
            [_webView loadHTMLString:htmlString baseURL:[NSURL URLWithString:imagePath]];
        }
}

若图片显示过大,可加入以下代码适配界面:

#pragma mark - 修改html代码字符串,适应webview
+ (NSString *)adaptWebViewForHtml:(NSString *) htmlStr
{
    NSMutableString *headHtml = [[NSMutableString alloc] initWithCapacity:0];
    [headHtml appendString : @"" ];
    
    [headHtml appendString : @"" ];
    
    [headHtml appendString : @"" ];
    
    [headHtml appendString : @"" ];
    
    [headHtml appendString : @"" ];
    
    [headHtml appendString : @"" ];
    
    [headHtml appendString : @"" ];
    
    [headHtml appendString : @"" ];
    
    [headHtml appendString : @"" ];
    
    [headHtml appendString : @"webview" ];
    
    NSString *bodyHtml;
    bodyHtml = [NSString stringWithString:headHtml];
    bodyHtml = [bodyHtml stringByAppendingString:htmlStr];
    return bodyHtml;

}






你可能感兴趣的:(ios初体验)