5

私はHighChartsをまったく初めて使用し、例http://blog.li-labs.com/developing-ios-apps-with-custom-charting/を参照して同じことを試みましたが、iPadシミュレーターでは空白の画面が表示されます。

stack-overflow に関する質問を参照しましたが、それでも機能しません。どこが間違っているのか誰にもわかりますか。

編集:私の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

  2. ファイルを XCode リソースに追加またはインポートします。(JS というグループを作成することをお勧めします)。

  3. リソースを XCode に追加すると、通常、コンパイルが必要であるとマークされます。ファイルが「コンパイル済み」としてリストされていないことを確認します。最も簡単な方法は、ファイルを [ターゲット] -> [プロジェクト名] -> [コンパイル済みソース] から [ターゲット] -> [プロジェクト名] -> [バンドル リソースのコピー] にドラッグするだけです。

  4. テスト用の html ファイルを作成するか、HighChart (またはその他の JavaScript チャート ライブラリ) のサンプル フォルダーからファイルをインポートします。私の場合、hcpie.html という名前を付けます

  5. タグ内のファイル参照が再帰したり、任意のフォルダーに移動したりしないようにします (それらがプロジェクト内のフォルダーにある場合でも)。例えば

右 =

間違っている =

  1. Interface Designer 内で UIWebView を作成し、それをビューにリンクします (私の場合は、chart1 という名前を付けました)。例えば

@interface FirstViewController : UIViewController { IBOutlet UIWebView *chart1; }

@終わり

  1. 読み込み時に HTML サンプル ファイルを参照するだけです。

    • (無効)viewDidLoad {

NSString *pathOfFile = [[NSBundle mainBundle] pathForResource:@”hcpie” ofType:@”html”]; NSString *htmlText = [NSString stringWithContentsOfFile:pathOfFile エンコーディング:NSUTF8StringEncoding エラー:nil];

NSURL *baseURL = [NSURL fileURLWithPath:pathOfFile];

[chart1 loadHTMLString: htmlText baseURL:baseURL];

[super viewDidLoad];

}

4

3 に答える 3

6

手順:-

1)最初に1つのhtmlファイルを作成して必要なコードを実行するか、試用のために、パッケージhttp://www.highcharts.com/downloadから取得した例からhtmlコードをコピーできます

2) html のスクリプトに適切な .js リンクが必要であることを確認してください。<script src="http://code.highcharts.com/highcharts.js"></script>

また

ローカルで提供する場合は、次のように記述できます<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;

これがお役に立てば幸いです。私の場合、それは機能しています。

于 2013-05-02T07:27:18.117 に答える
0

UIWebView で .html を呼び出すための便利なコード。

-(void)viewDidLoad
   {
     NSString *pathOfFile = [[NSBundle mainBundle]  pathForResource:@"chart" ofType:@"html"]; 

     NSString *htmlText =[NSString stringWithContentsOfFile:pathOfFile encoding:NSUTF8StringEncoding error:nil];

     NSURL *baseURL = [NSURL fileURLWithPath:pathOfFile];

    [UIWebView loadHTMLString: htmlText baseURL:baseURL];
   }
于 2015-08-31T11:09:42.663 に答える