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

本文介绍了在iOS应用中使用UIWebView加载本地HTML时如何正确显示图片,以及解决webview的适配问题。关键在于设置baseURL为图片路径,并在HTML中仅使用图片文件名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


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

</span><img src="image@3x.png"  alt="图片" /><span class="s4"><br><br></span>


    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 : @"<html>" ];
    
    [headHtml appendString : @"<head>" ];
    
    [headHtml appendString : @"<meta charset=\"utf-8\">" ];
    
    [headHtml appendString : @"<meta id=\"viewport\" name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=false\" />" ];
    
    [headHtml appendString : @"<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />" ];
    
    [headHtml appendString : @"<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\" />" ];
    
    [headHtml appendString : @"<meta name=\"black\" name=\"apple-mobile-web-app-status-bar-style\" />" ];
    
    [headHtml appendString : @"<style>img{width:100%;}</style>" ];
    
    [headHtml appendString : @"<style>table{width:100%;}</style>" ];
    
    [headHtml appendString : @"<title>webview</title>" ];
    
    NSString *bodyHtml;
    bodyHtml = [NSString stringWithString:headHtml];
    bodyHtml = [bodyHtml stringByAppendingString:htmlStr];
    return bodyHtml;

}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值