我在我的应用中创建了webview,
NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"SimpleCall" ofType:@"html"];
NSString* htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];
[webview loadHTMLString:htmlString baseURL: [[NSBundle mainBundle] bundleURL]];
[self.view addSubview:webview];
现在我想在webview开始加载时向webview发送数据。是否有uiwebview的任何属性?
感谢提前。
答案 0 :(得分:0)
您必须在UIWebViewDelegate
上设置委托UIWebView
属性,例如:
webView.delegate = self;
其中self
符合UIWebViewDelegate
协议并实现回调方法webViewDidStartLoad
(检查docs),如果您确实想在Web视图开始加载时执行某些操作。然后,您实现方法:
- (void)webViewDidStartLoad:(UIWebView *)webView {
//you can do something in here, but DON'T call any loaders of webView's - loadHTML or reload, cause this will result in a loop
}
但我怀疑这会解决您的问题 - 首先,您可能希望在Web视图完成时执行某些操作。第二 - 你能详细说明你的意思:
将数据发送到网络视图
免责声明:从iOS 8及更高版本开始,您应该使用WKWebView
代替。
编辑:正如评论中所阐明的那样,您希望动态更新html内容。在WKWebView
docs中,您可以读到没有选项(即从NSArray动态插入选项到加载的html字符串)。您必须手动更新您的html字符串,然后使用新的更新的html重新加载WKWebView
。重新加载整个html只是为了更新一个功能可能不是一个选项,所以更好地存储加载到服务器上的网页并动态更新(当网页更新时使用新选项),通过调用:
[webView reload];