2014-12-05 181 views
0

我已成功添加UIWebViewUIAlertView,並在警報彈出窗口中顯示Html頁面。 但現在我想跟蹤UIWebView中的元素。那麼你能告訴我怎麼才能知道哪個UIButton被點擊了UIWebView顯示在alert彈出窗口?將UIWebView添加到UIAlertView iOS

代碼:

NSString *html [email protected]"<!DOCTYPE html><html><body><form action=\"action_page.php\">First name:<br><input type=\"text\" name=\"firstname\"><br>  Last name:<br>  <input type=\"text\" name=\"lastname\"><br><br> <input type=\"submit\">  </form>    <p>Note that the form itself is not visible.</p>  <p>Also note that the default width of a text field is 20 characters.</p>  </body>  </html>"; 

UIWebView *webView = [[UIWebView alloc] init]; 
[webView setFrame:CGRectMake(0,0,200,400)]; 
NSData *data = [html dataUsingEncoding:NSUTF8StringEncoding]; 
[webView loadData:data MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@"www.google.com"]]; 
webView.delegate = self; 

UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"TEST" message:@"subview" delegate:nil cancelButtonTitle:@"NO" otherButtonTitles:@"YES", nil]; 
[av setValue:webView forKey:@"accessoryView"]; 
[av show]; 

回答

0

當你添加你需要委託設置爲從警報將存在當前視圖控制器的網絡視圖。因此,在web view delegate方法中,您將能夠使用javascript query來跟蹤點擊事件。

可以取在web view方法:

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
     //javascrip evalution code 
} 
+0

我已經加入的UIWebView使用語法UIAlertView中: UIAlertView中* AV = [[UIAlertView中的alloc] initWithTitle:@ 「TEST」 消息:@ 「子視圖」 delegate:nil cancelButtonTitle:@「NO」otherButtonTitles:@「YES」,nil]; [av setValue:webView forKey:@「accessoryView」]; [av show]; – Sumit 2014-12-05 05:43:35

+0

是的,對於那個UIviewWeb,您可以將委託給當前視圖。 – Esha 2014-12-05 05:44:21

+0

將相同的代碼添加到您的問題中,以使其更清晰。您可以將委託設置爲'webView.delegate = self'併爲web視圖添加協議。可能是解決你的點擊事件。 – Esha 2014-12-05 05:47:13

相關問題