在iphone sdk中将html上载到webview时出现问题 NSMutableURLRequest*request=[NSMutableURLRequest requestWithURL:[nsurlurlwithstring:loadUrl]]; NSData*returnData=[NSURLConnection sendSynchronousRequest:request returningResponse:nil错误:nil]; NSMutableString*returnString=[[NSMutableString alloc]initWithData:returnData编码:NSUTF8StringEncoding]; NSString*absString=[[NSBundle mainBundle]pathForResource:@“footer”类型:@“png”]; NSURL*footerURL=[NSURL fileURLWithPath:absString]; NSString*appendString=@; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@“详细信息”]; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@“”; //returnString=[returnString StringByReplacingOfString:@”“with String:appendString]; [returnString ReplaceConcurrencesofString:@“” with字符串:appendString 选项:NSCaseInsensitiveSearch 范围:NSMakeRange(0,[returnString长度]); [returnString ReplaceCurrencesofString:@“footer.png” withString:[footerURL绝对字符串] 选项:NSCaseInsensitiveSearch 范围:NSMakeRange(0,[returnString长度]); printf(“\n返回字符串:%s”,[returnString UTF8String]); [myWebView loadHTMLString:returnString baseURL:[NSURL URLWithString:@]http://abc.api.abcdef.com"]];

在iphone sdk中将html上载到webview时出现问题 NSMutableURLRequest*request=[NSMutableURLRequest requestWithURL:[nsurlurlwithstring:loadUrl]]; NSData*returnData=[NSURLConnection sendSynchronousRequest:request returningResponse:nil错误:nil]; NSMutableString*returnString=[[NSMutableString alloc]initWithData:returnData编码:NSUTF8StringEncoding]; NSString*absString=[[NSBundle mainBundle]pathForResource:@“footer”类型:@“png”]; NSURL*footerURL=[NSURL fileURLWithPath:absString]; NSString*appendString=@; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@“详细信息”]; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@”“]; appendString=[appendString stringByAppendingString:@“”; //returnString=[returnString StringByReplacingOfString:@”“with String:appendString]; [returnString ReplaceConcurrencesofString:@“” with字符串:appendString 选项:NSCaseInsensitiveSearch 范围:NSMakeRange(0,[returnString长度]); [returnString ReplaceCurrencesofString:@“footer.png” withString:[footerURL绝对字符串] 选项:NSCaseInsensitiveSearch 范围:NSMakeRange(0,[returnString长度]); printf(“\n返回字符串:%s”,[returnString UTF8String]); [myWebView loadHTMLString:returnString baseURL:[NSURL URLWithString:@]http://abc.api.abcdef.com"]];,html,cocoa-touch,uiwebview,Html,Cocoa Touch,Uiwebview,在上面的代码中,footer.png和details_back.png是存储在我的资源文件夹中的本地图像 这里的问题是,我从作为baseurl传递到webview的服务器链接中获取了背景图像,但未显示存储在资源中的图像footer.png和details_back.png 如果我使用资源包作为baseurl,则不会显示来自服务器链接的背景图像 谁能给我一些解决这个问题的建议吗 多亏了盖伊的努力, 莫尼什语 如果使用资源包作为基本url的唯一结果是缺少背景图像,则可以尝试替换其href属性,就像使

在上面的代码中,footer.png和details_back.png是存储在我的资源文件夹中的本地图像

这里的问题是,我从作为baseurl传递到webview的服务器链接中获取了背景图像,但未显示存储在资源中的图像footer.png和details_back.png

如果我使用资源包作为baseurl,则不会显示来自服务器链接的背景图像

谁能给我一些解决这个问题的建议吗

多亏了盖伊的努力,
莫尼什语

如果使用资源包作为基本url的唯一结果是缺少背景图像,则可以尝试替换其href属性,就像使用
标记一样。

首先,出于性能原因,在构建字符串时应使用NSMutableString

html中的图像src路径需要指向资源包的完整URL路径。要获取资源的URL路径,请执行以下操作:

 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:loadUrl]];

 NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
 NSMutableString *returnString = [[NSMutableString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
 NSString *absString = [[NSBundle mainBundle]pathForResource:@"footer" ofType:@"png"];
 NSURL *footerURL = [NSURL fileURLWithPath:absString];
    NSString* appendString=@"";
 appendString = [appendString stringByAppendingString:@"<body>"];
 appendString =[appendString stringByAppendingString:@"<table background='footer.png' width='320' height='45' style='background-repeat:no-repeat'>"];
 appendString =[appendString stringByAppendingString:@"<tr>"];
 appendString =[appendString stringByAppendingString:@"<td align='left' width='57' height='31' style='padding: 6px 0 0 0' ><a href='/map/'><img src='details_Back.png'/></a></td>"];
 appendString =[appendString stringByAppendingString:@"<td align='left' valign='middle' style='padding: 0 0 0 65px; font-family:Helvetica; font-size:21px ; font-weight:bold ; color:#FFF'>Details</td>"];
 appendString =[appendString stringByAppendingString:@"</tr>"];
 appendString =[appendString stringByAppendingString:@"</table>"];

 appendString =[appendString stringByAppendingString:@"<br>"];
 //returnString = [returnString stringByReplacingOccurrencesOfString:@"<body>" withString:appendString];
 [returnString replaceOccurrencesOfString:@"<body>"
          withString:appendString
          options:NSCaseInsensitiveSearch
            range:NSMakeRange(0, [returnString length])];

 [returnString replaceOccurrencesOfString:@"footer.png"
          withString:[footerURL absoluteString]
          options:NSCaseInsensitiveSearch
            range:NSMakeRange(0, [returnString length])];

 printf("\n return string :%s",[returnString UTF8String]);
 [myWebView loadHTMLString:returnString baseURL:[NSURL URLWithString:@"http://abc.api.abcdef.com"]];
获取图像url并构建自定义正文后,将用图像的完整url替换footer.png:

    NSString *footerPath = [[NSBundle mainBundle] 
                        pathForResource:@"footer" 
                        ofType:@"png"];
NSURL *footerURL = [NSURL fileURLWithPath:footerPath];

我可以建议你看看如何构建你的HTML吗?@Black Frog:我按照你的建议做了尝试,尽管我没有让本地图像显示出来。你能帮我做些其他的想法吗?我在发布代码之前测试了代码。发布了您的代码副本,我将查看它。我已编辑代码,请检查我犯错误的位置。Monish,请将页脚URL写入控制台:NSLo(@“页脚URL:%@,[FooteURL absoluteString]);把它贴在这里。我想看看你有什么。页脚URL:file://localhost/Users/kishorebabub/Library/Application%20Support/iPhone%20Simulator/4.2/Applications/CA1946D9-7700-4175-9143-0D8318B5C32B/ParkingAreaLocator.app/footer.png
    [myCustomBody replaceOccurrencesOfString:@"footer.png"
                              withString:[footerURL absoluteString]
                                 options:NSCaseInsensitiveSearch
                                   range:NSMakeRange(0, [myCustomBody length])];