gpt4 book ai didi

ios - MonoTouch 中的简单融合图不起作用

转载 作者:行者123 更新时间:2023-11-29 13:36:53 25 4
gpt4 key购买 nike

我正在尝试使用 UIWebView 在我的 MonoTouch 项目中嵌入来自 fusioncharts 的 column3d 图表。我已经添加了必要的导出,并通过使用 loadrequest 加载 url 和 loadHtmlString 来格式化一行简单的文本进行了测试。这很好用。我什至使用以下代码测试了 fusionchart 在我的浏览器上是否正常工作,确实如此。

我的 MonoTouch 项目中有一个名为“charts”的文件夹,其中包含 Column3d.swf、jquery.min.js、FusionCharts.js、FusionCharts.HC.js 和 FusionCharts.HC.Charts.js。

在我的

  • ViewDidLoad

    string htmlString = "<html>
    <head>
    <script type=\"text/javascript\"src=\"Charts/jquery.min.js\">
    </script>
    <script type=\"text/javascript\" src=\"Charts/FusionCharts.js\">
    </script>
    <script type=\"text/javascript\" src=\"Charts/FusionCharts.HC.js\">
    </script>
    <script type=\"text/javascript\" src=\"Charts/FusionCharts.HC.Charts.js\">
    </script>
    </head>
    <body>
    <div id=\"chartContainer\">FusionCharts will load here!
    </div>
    <script type=\"text/javascript\"> var myChart = new FusionCharts( \"Charts/Column3D.swf\", \"myChartId\", \"400\", \"300\", \"0\", \"1\" );myChart.setXMLUrl(\"Charts/Data.xml\");
    myChart.render(\"chartContainer\");
    </script>
    </body>
    </html>";

    this.webView.LoadHtmlString (htmlString, new NSUrl ("./Charts", true));

    /*string htmlString = "<html><head></head><body><span style=\"font-weight: bold;\">This</span> " +
    "<span style=\"text-decoration: underline;\">is</span> <span style=\"font-style: italic;\">some formatted</span> " +"<span style=\"font-weight: bold;text-decoration: underline;\">text!</span><br></body></html>";*/ //works

    //this.webView.LoadHtmlString (htmlString, null); //works
  • 数据.xml

    <chart caption='Weekly Sales Summary'
    xAxisName='Week' yAxisName='Amount' numberPrefix='$'>
    <set label='Week 1' value='14400' />
    <set label='Week 2' value='19600' />
    <set label='Week 3' value='24000' />
    <set label='Week 4' value='15700' />
    </chart>

有人可以解释一下我如何让它工作吗?提前致谢。

编辑:我也试过

    string htmlString = "<html><head> <title>Creating Pure JavaScript chart</title><script type=\"text/javascript\" src=\"charts/FusionCharts.js\"></script></head> <body><div id=\"chartContainer\">FusionCharts will load here!</div> <script type=\"text/javascript\">FusionCharts.setCurrentRenderer('javascript');var myChart = new FusionCharts( \"charts/Column3D.swf\", \"myChartId\", \"400\", \"300\", \"0\", \"1\" );myChart.setXMLData(\"<chart><set label='Data1' value='1' /></chart>\"); myChart.render(\"chartContainer\"); </script></body> </html>";

我强制渲染器使用 javascript 并将字符串中的图表参数设置为无效。有人吗?

最佳答案

我解决了我的问题,并认为如果有人遇到类似问题我会发布它。

我做的第一件事是右键单击我的每个 javscript 文件,即 FusionCharts.js、FusionCharts.HC.js 和 FusionCharts.HC.Charts.js,并将它们的构建类型设置为内容。

然后我通过声明告诉 Monotouch 图表的构建路径将包含在图表文件夹中

string path = NSBundle.MainBundle.BundlePath + "/Charts/";

因为我声明我要在 Charts 文件夹中查找相关文件,所以我不得不通过从所有 “src” 中删除“图表”关键字引用来修改我的 htmlString,如下所示(因为我们已经到了。

string htmlString = "<html>
<head>
<script type=\"text/javascript\" src=\"jquery.min.js\">
</script>
<script type=\"text/javascript\" src=\"/FusionCharts.js\">
</script>
<script type=\"text/javascript\" src=\"/FusionCharts.HC.js\">
</script>
<script type=\"text/javascript\" src=\"FusionCharts.HC.Charts.js\">
</script>
</head>
<body>
<div id=\"chartContainer\">FusionCharts will load here!
</div>
<script type=\"text/javascript\"> var myChart = new FusionCharts(\"Column3D.swf\", \"myChartId\", \"400\", \"300\", \"0\", \"1\" );myChart.setXMLUrl(\"Charts/Data.xml\");
myChart.render(\"chartContainer\");
</script>
</body>
</html>";

然后我调用 loadHtml 字符串方法,第二个参数指向包含 javascript 文件的路径。

this.webView.LoadHtmlString(htmlString, new NSUrl(path, true));

关于ios - MonoTouch 中的简单融合图不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10364773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com