2012-01-23 11 views
1

objectiveCから16進数のカラー値をJavascriptに渡そうとしています。私はグラフを表示しているので、HTMLコードをハードコードする必要がないように、色をjavascriptに渡そうとしています。ここでXcodeからJavascriptに16進数のカラー値を渡す

は、私が何をすべきかである - 私の.mファイルで

、私webViewDidFinishLoad機能で

NSArray *colorArray = [NSArray arrayWithObjects:@"FFFFFF",@"000000", nil]; 

colorString = [[colorArray valueForKey:@"description"] componentsJoinedByString:@","]; 

[graphView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"methodName1([%@])", colorString]]; 

しかし、Javascriptを値を受け付けることができません。

私のJavascriptの機能では、値を受け入れるために何をすればよいですか(FFFFFFと000000)、私はそれらを使うことができます。

私はこのような色を使用しようとしています - 代わりにそこ進数の値を与える、私はにObjCからそれを取得したいと思い

line1.Set('chart.colors', ['FF0000', '000000']); 

を。

アップデート - ここ

は、私が使用javascript関数である - しかし、機能がさえ呼び出されません

function methodName1(val) 
{ 
    alert("hi"); 
} 

..私は問題は、私は値を渡す方法であると感じ..

誰かがこれで私を助けることができたら嬉しいです。

答えて

1

あなたは

methodName1([FFFFFF,000000]); // will fail since FFFFFF is not defined 

を呼んでいる。しかし、あなたが

methodName1(['FFFFFF','000000']); 
+0

私はこれをobjcからどのように呼び出すでしょうか?私はこれを行うだろう - [graphView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@ "methodName1( '[%@]')"、colorString]]; – learner2010

+0

うん..それは働いた! [graphView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@ "methodName1( '[%@]')"、colorString]];文字列が値を渡す前に ''を置く... – learner2010

+0

個々の引数をそれぞれ引用する必要があります。 'colorstring = [NSString stringWithFormat:@" '%@' "、[colorArray componentsJoinedByString:@" '、 "]];' – user123444555621

0

おそらく、各色の前に「#」文字を追加する必要があります。

+0

そして、ええ... 'colorString = [colorArray componentsJoinedByString:@ ""]たい;' はなりを十分な。 – Ievgen

+0

返信ありがとうございます..しかし、私はまだ問題に直面しています..私は使用する関数で私の質問を更新しました... – learner2010

+0

また、NSArray * colorArray = [NSArray arrayWithObjects:@ "a "、@" b "、nil];関数は呼び出されません.. – learner2010

関連する問題