提问者:小点点

如何在Xcode for IOS上从可编辑字符串加载HTML?


我需要在我的IOS应用程序中加载一个HTML,但我需要它是一个可编辑的HTML,所以我的操作如下:

我创建了一个带有格式的NSString,这样我就可以根据一些变量用HTML代码生成一个字符串:

NSString*GoogleGraphCode=[nsStringWithFormat:@“”<“HTML>”<“Body>”<“div id=\”%@\“>”<“/div>”<“script type=\”%@\“src=\”%@\“>google.load('visualization','1.0',{'packages':['corechart']});google.SetonLoadCallback(drawChart);函数drawChart(){var data=new google.visualization.dataTable();

然后我用HTMLString加载webView:

[_graphHostView loadHTMLString:googleGraphCode baseURL:nil];

我得到了NSLog中的代码,然后得到了这样的结果:

“<”html>“<”body>“<”div id=“chart_div”>“<”/div>“<”script type=“text/javascript”src=“https://www.google.com/jsapi”>“<”script type=“text/javascript”>google.load('visualization','1.0',{'packages':['corechart']});Google.SetonLoadCallback(绘图图);函数drawChart(){var data=new google.visualization.dataTable();data.addColumn('string','tipo');data.addColumn('string','cantidadgasto');data.addrows([['gastos',30000],['ingresos',50000]]);var options={'title':'su gráfica de balance:‘,'width':320,'height':300};var chart=new

但设备上的webView没有显示任何内容。

注意:我在html代码之前使用了“<”,所以Stackoverflow在问题中显示了它,所以“<”html>=常规html开始。


共1个答案

匿名用户

loadHTMLString是让webview加载html的正确方法

问题可能是_GraphHostView为nil,因此不会发生loadHTMLString。

如果以编程方式创建_graphhostview,则可能缺少alloc/init而为零

使用调试器时,CHECKGRAPHOSTVIEW不是nil。

工作HTML的示例:

NSString *styledHTML = [NSString stringWithFormat:@"<html> \n"
                                "<head> \n"
                                "<style type=\"text/css\"> \n"
                                "body {font-family: \"%@\"; font-size: %@;\n"
                                "background-color:#EEEEEE;}\n"
                                "</style> \n"
                                "</head> \n"
                                "<body bgcolor =0xEEEEEE >%@</body> \n"
                                "</html>", @"Museo Sans", [NSNumber numberWithInt:12], helpResponse.Content];


[contentView loadHTMLString:styledHTML baseURL:nil];

NSString还可能过度使用引号(“”)

相关问题