我正在开发一个用于扫描vin号码的iOS应用程序。我能够成功扫描vin号码。我希望将此vin号码传递给网站“http://tk14.webng.com/bswbhtml.html”。这里会有一个文本字段。单击应用程序中的按钮后,应自动将其复制到文本字段。
代码如下
- (IBAction)sendVIN:(id)sender
{
_resultField.text = vin;
}
我在变量vin
中获得了vin编号。这必须自动复制到该文本字段。
我该怎么做?
答案 0 :(得分:1)
您需要修改网页上输入字段的html,添加“值”属性:
<input value="vin number goes here" />
有几种方法可以实现这一目标。最好的方法是通过NSURLConnection加载网页,而不是通过webview加载网页,修改HTML,然后要求webview加载修改后的HTML。这是一个例子:
int vinNumber = 1234567890;
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://tk14.webng.com/bswbhtml.html"]];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue currentQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if (error == nil && data != nil)
{
NSString *html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
if ([html rangeOfString:@"<input type=\"text\" name=\"vinnumber\">"].location != NSNotFound)
{
NSString *amendedInput = [NSString stringWithFormat:@"<input type=\"text\" name=\"vinnumber\" value=\"%i\">", vinNumber];
NSString *amendedHTML = [html stringByReplacingOccurrencesOfString:@"<input type=\"text\" name=\"vinnumber\">" withString:amendedInput];
[_webview loadHTMLString:amendedHTML baseURL:[NSURL URLWithString:@"http://tk14.webng.com/bswbhtml.html"]];
}
}
}];
结果页面在我的iPhone 4S上看起来像这样: