我試圖將十六進制顏色值從objectiveC傳遞給Javascript。我正在顯示一個圖表,我正在嘗試將顏色傳遞給javascript,以便我不需要在我的html頁面中對其進行硬編碼。將Xcode中的十六進制顏色值傳遞給Javascript
這是我做的 -
在我的.m文件,
NSArray *colorArray = [NSArray arrayWithObjects:@"FFFFFF",@"000000", nil];
colorString = [[colorArray valueForKey:@"description"] componentsJoinedByString:@","];
在我webViewDidFinishLoad功能,
[graphView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"methodName1([%@])", colorString]];
然而,JavaScript是不能夠接受的值。
在我的Javascript函數中,我應該如何接受值 - FFFFFF和000000,以便我可以使用它們。
我想使用的顏色這樣的 -
line1.Set('chart.colors', ['FF0000', '000000']);
那裏而不是給的十六進制值在那裏,我想從objC得到它。
更新 -
下面是javascript函數我用 -
function methodName1(val)
{
alert("hi");
}
但是,函數甚至不被調用。我覺得這個問題是我傳遞值的方式..
如果有人能幫助我解決這個問題,那將會很棒。
如何從objc中調用此函數?我會這樣做 - [graphView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@「methodName1('[%@]')」,colorString]]; – learner2010
以及..工作! [graphView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@「methodName1('[%@]')」,colorString]];在字符串傳遞值之前放置'...' – learner2010
您需要確保引用每個單獨的參數。嘗試'colorstring = [NSString stringWithFormat:@「'%@'」,[colorArray componentsJoinedByString:@「','」]];' – user123444555621