从另一个viewController调用Web视图

时间:2016-07-05 09:21:34

标签: ios objective-c webview uiviewcontroller

UIWebView上有UIViewController,效果很好。我使用这个命令来发送数据,这一切都很好:

[self.dWebView stringByEvaluatingJavaScriptFromString: myString];

问题是我添加了另一个UIViewControllerQRViewController)从QR标签读取数据,我想以相同的方式发送它。 这是QRViewController的代码,但没有任何反应:

ViewController* _viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
[_viewController.dWebView stringByEvaluatingJavaScriptFromString: qrString];

有可能这样做吗?有什么遗失的吗?

先谢谢。

2 个答案:

答案 0 :(得分:1)

将NSString * str对象添加到ViewController

将其传递为:_viewController.str = qrString;

[self.dWebView stringByEvaluatingJavaScriptFromString:self.str];

这将有效

答案 1 :(得分:1)

您正在通过调用此代码创建同一UIViewController类的第二个实例:

ViewController* _viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];

_viewController未指向屏幕上可见的那个,它是一个当前未显示的新副本。

您需要获取当前正在显示的上一个实例的句柄并将数据传回给它。这取决于您构建此应用程序的方式。

例如:

  • 如果以模态方式存在,则需要获取self.presentingViewController
  • 如果您使用的是navigationController,则可以访问其viewControllers属性以获取之前的句柄。