将十六进制颜色值从Xcode传递到Javascript

时间:2012-01-23 15:30:28

标签: javascript objective-c ios5 hex

我正在尝试将一个十六进制颜色值从objectiveC传递给Javascript。我正在显示一个图表,我正在尝试将颜色传递给javascript,这样我就不需要在我的html页面中对其进行硬编码。

这是我的工作 -

在我的.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");
}

然而,该函数甚至没有被调用..我觉得问题在于我传递值的方式......

如果有人可以帮我解决这个问题会很棒。

2 个答案:

答案 0 :(得分:1)

你正在打电话

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

但你想要

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

答案 1 :(得分:0)

您可能需要在每种颜色前添加“#”字符。

相关问题