如何在iOS中的UIWebView上添加Highcharts?

2024-01-11

我对 HighCharts 完全陌生,我参考了示例http://blog.li-labs.com/developing-ios-apps-with-custom-charting/ http://blog.li-labs.com/developing-ios-apps-with-custom-charting/并尝试了同样的操作,但在 iPad 模拟器上我得到的是空白屏幕。

我已经提到了有关堆栈溢出的问题,但它仍然不起作用。 谁能告诉我哪里错了。

编辑:我的 HTML 文件中的代码:

 <!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Highcharts Example</title>

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script type="text/javascript">
$(function () {

        // Radialize the colors
        Highcharts.getOptions().colors = Highcharts.map(Highcharts.getOptions().colors, function(color) {
            return {
                radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 },
                stops: [
                    [0, color],
                    [1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken
                ]
            };
        });

        // Build the chart
        $('#container').highcharts({
            chart: {
                plotBackgroundColor: null,
                plotBorderWidth: null,
                plotShadow: false
            },
            title: {
                text: 'Browser market shares at a specific website, 2010'
            },
            tooltip: {
                pointFormat: '{series.name}: <b>{point.percentage}%</b>',
                percentageDecimals: 1
            },
            plotOptions: {
                pie: {
                    allowPointSelect: true,
                    cursor: 'pointer',
                    dataLabels: {
                        enabled: true,
                        color: '#000000',
                        connectorColor: '#000000',
                        formatter: function() {
                            return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
                        }
                    }
                }
            },
            series: [{
                type: 'pie',
                name: 'Browser share',
                data: [
                    ['Firefox',   45.0],
                    ['IE',       26.8],
                    {
                        name: 'Chrome',
                        y: 12.8,
                        sliced: true,
                        selected: true
                    },
                    ['Safari',    8.5],
                    ['Opera',     6.2],
                    ['Others',   0.7]
                ]
            }]
        });
    });


        </script>
    </head>
    <body>
<!--<script src="../../js/highcharts.js"></script>-->
<!--<script src="../../js/modules/exporting.js"></script>-->

<script type="text/javascript" src="highcharts.js"></script>
<script type="text/javascript" src="exporting.js"></script>

<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
    </body>
</html>

如何在 XCode 中添加和使用 Javascript 库

下面是我如何在 XCode 中处理代码和数据的简单视图。

  1. 从您喜欢的图表站点下载 Javascript 报告包。就我而言:http://www.highcharts.com/download http://www.highcharts.com/download

  2. 将文件添加或导入到 XCode 资源中。 (我建议创建一个名为 JS 的组)。

  3. 当向 XCode 添加资源时,它通常会被标记为需要编译。确保文件未列为 正在“编译”。最简单的方法是将文件从 目标 -> 你的项目名称 -> 将源代码编译到目标 -> 你的 项目名称 -> 复制捆绑资源。

  4. 创建一个测试 html 文件,或者直接从 HighChart(或任何其他 javascript 图表库)示例文件夹中导入一个文件。就我而言 将其命名为 hcpie.html

  5. 确保标签中的任何文件引用不会递归或移动到任何文件夹中(即使它们位于项目中的一个文件夹中)。 例如

RIGHT =

WRONG =

  1. 在 Interface Designer 中创建一个 UIWebView 并将其链接到您的视图(在我的例子中,我将其命名为 Chart1)。例如

@interface FirstViewController : UIViewController { IBOutlet UIWebView *图表1; }

@end

  1. 加载时只需引用 HTML 示例文件即可。

    • (void)viewDidLoad {

NSString *pathOfFile = [[NSBundle mainBundle] pathForResource:@”hcpie” ofType:@”html”]; NSString *htmlText = [NSString stringWithContentsOfFile:pathOfFile 编码:NSUTF8StringEncoding 错误:无];

NSURL *baseURL = [NSURL fileURLWithPath:pathOfFile];

[chart1 loadHTMLString: htmlText baseURL:baseURL];

[超级viewDidLoad];

}


Steps:-

1)首先创建一个 html 文件并执行所需的代码,或者为了试用可以从包中获得的示例中复制 html 代码http://www.highcharts.com/download http://www.highcharts.com/download

2) 确保 html 中的脚本应该有正确的 .js 链接 例如:-<script src="http://code.highcharts.com/highcharts.js"></script>

or

如果你想在本地提供,你可以写<script src="highcharts.js"></script>但请确保 .js 文件位于您的应用程序文件夹中。

3) NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"graph" ofType:@"html"];
   NSString* htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];
   [obj loadHTMLString:htmlString baseURL:nil];  // Webview *obj;

希望这对您有帮助。就我而言,它起作用了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在iOS中的UIWebView上添加Highcharts? 的相关文章

  • 发布后更新 iOS 应用程序描述而不更改应用程序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 一个应用程序在iTunes商店发布后 是否可以更改该应用程序的描述而无需再次更新整个应用程序 那么是否可以更改图像或描述文本 保存更改并更
  • iOS 8 启动图像文件 - 导航栏和状态栏

    我正在使用 Interface Builder 制作 iOS 8 的启动图像文件 我想要的启动图像非常简单 我认为与 设置 应用程序相同 顶部的导航栏带有一个空的分组 TableView 无标题等 请注意 我通常不使用 Interface
  • 在 OpenGL ES 1.1 中创建闪电

    我需要使用 OpenGL ES 1 1 iPhone 创建漂亮的闪电 并计划使用着色器 然而 当我在上一个问题中询问它时 OpenGL ES 1 x 着色器 https stackoverflow com questions 543948
  • 在 iPhone 应用程序中显示来自 RSS 源的内容

    我看过一些关于这个主题的教程 但它们都只讨论了一半 然后让人感到困惑 如何将 RSS feed 流式传输到 iPhone 应用程序中 我知道 xml 应该被读入 解析等 但随后我不确定如何显示我需要的信息 例如图像 嵌入视频等 如果有人能指
  • 如何在 Objective-C 的动画中使视图振动? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个名为 qShake 的 UIView 当用户犯错误时 我希望该视图在一个小空间内短时间内从左到右晃动 我将如何创建动画来做到这一点
  • iOS 6 中的模态视图控制器强制横向方向

    我有一个以纵向模式呈现的 UITabBarController 在其中一个选项卡上 我有一个以模态方式显示 UIViewController 的按钮 一个简单的故事板 segue 执行该操作 我希望这个模态视图以横向模式显示 但我无法让它自
  • ScrollView 内的 SwiftUI 列表

    我想将列表放在 ScrollView 中 以便可以一起滚动列表行和标题 但我发现 ScrollView 中的 List 不起作用 它什么也没显示 我应该同时使用它们 我应该使用 ScrollView 这样当我滚动行时 我可以使标题 图像或文
  • Firebase 查询 - 查找包含字符串的子项

    我在使用 Firebase 查询时遇到了一些问题 我想查询对象 其中对象子值包含特定字符串 到目前为止 我有一些看起来像这样的东西 Firebase ref Firebase alloc initWithUrl https dinosaur
  • 身份验证后如何退出 Google

    所以我的应用程序可以选择使用 Google 登录 单击 Google 提供的按钮后 将打开一个 Web 视图并让用户输入其凭据 允许应用程序访问其信息后 应用程序将用户登录并将 SignInViewController 更改为 TabBar
  • CSS 背景在 iOS 中拉伸以填充高度,但滚动上有空白

    这个 CSS 让我的背景在 iOS 中填充 100 的屏幕高度 但有一个小问题 当你向下滚动时 最初有空白 然后当你松开手指并停止滚动时 背景图像会 调整 并填充 100再次屏幕高度的 如果您继续滚动 该问题不会在同一页面上再次出现 只是第
  • iPhone 录音时不振动

    我正在修改 AurioTouch 示例 我想振动手机以响应特定的声音输入 我可以检测输入并printf他们 但是AudioServicesPlaySystemSound kSystemSoundID Vibrate 会话期间不执行任何操作k
  • initWithFrame 与 initWithStyle

    我想从已弃用的 TableView 中更新initWithFrame reuseIdentifier 我的表格视图使用自定义单元格 到处都说要使用initWithStyle 并且它不会以任何方式改变行为或细胞initWithFrame CG
  • 同一视图中的多个 UIAlertView

    我有两个带有确定 取消按钮的 UIAlertView 我通过以下方式捕获用户响应 void alertView UIAlertView alertView didDismissWithButtonIndex NSInteger button
  • 带有 HTML 的 UIActivityViewController

    当我将包含 HTML 内容的字符串作为数组元素传递给UIActivityViewController initWithActivityItems方法中 它不会在选定的 共享 控制器中将其呈现为 HTML 而是呈现 HTML 源 即标记而不是
  • Sqlite3 查询在 iOS 8.2 下变得非常慢

    我制作了一个可以在应用程序内使用 sqlite 数据库的应用程序 在 iOS 8 2 之前 它工作得很好 但更新后 查询方法的工作速度慢了大约 100 倍 我试图查找有关此问题的信息 但尚未找到任何信息 有人有同样的经历吗 这是我的方法 到
  • iOS 框架问题:类在两者中均实现

    我正在开发一个使用第三方框架类的iOS框架项目 所以我在下面添加了第三方框架链接的框架和库部分 当我在 iOS 应用程序项目中添加自定义框架时 每个类都会收到此警告 objc 3139 类 class name 在两者中均实现 privat
  • 在 UIScrollView Swift 中禁用垂直滚动

    不要将此问题标记为重复 我读了很多问题 但没有找到问题的答案 我的问题如下 我有一个UIScrollView它应该只水平滚动 这里它垂直滚动 20px 奇怪的事实 它似乎与状态栏的高度相同 我尝试打印内容大小 y 偏移量和高度UIScrol
  • 如何在iOS中像Android一样实现菜单

    我需要为 iOS 实现菜单 例如android menu表示导航按钮栏 右侧 如果我点击该菜单就会显示 我正在使用故事板 所以你想要这样的东西 甚至可以在风景中使用 我想我要花很长时间来解释 D 基本上我创建了一个自定义 UINavigat
  • Measure 应用程序是否有可用的 URL 方案?

    我想推出新的测量应用程序 在 iOS 12 上 在我的应用程序中 这可能吗 应用程序是否有可用的 URL 方案可用于此目的 或者还有其他方法可以做到吗 Thanks 您似乎无法打开此应用程序 In the 文档存档 https develo
  • 在 Objective C 中读取解析 XML 的 CDATA 部分

    我正在研究一个关于解析 google 天气 api 的 iphone 示例教程 该 api 似乎不再存在 所以我找到了一个替代方案 本教程使用 libxml2 和 xpath 查询来解析 xml 文件 我成功解析了大部分数据 我遇到的问题是

随机推荐