【发布时间】:2011-06-08 18:01:01
【问题描述】:
我很确定我了解如何使用 webView:shouldStartLoadWithRequest:navigationType: 方法捕获对 UIWebView 的点击,但我的 webView 甚至不允许我点击链接。我正在使用:
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(12, top, boundsSize.width - 40.0, 400.0f)];
webView.delegate = self;
webView.backgroundColor = [UIColor clearColor];
webView.opaque = NO;
webView.allowsInlineMediaPlayback = YES;
webView.dataDetectorTypes = UIDataDetectorTypeAll;
// add to subview
我正在加载 HTML 字符串,而不是加载 URL:
[webView loadHTMLString:bodyHTML baseURL:nil];
委托方法:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"Loaded");
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSURL *url = request.URL;
NSString *urlString = url.absoluteString;
NSLog(urlString);
}
return YES;
}//end
每次我的 webview 加载时,我都会在日志中看到“Loaded”,所以我知道委托方法被调用了。但是我永远无法单击 UIWebView 中的链接并发生任何事情。它甚至看起来都不允许链接处于按下状态。该链接像链接一样突出显示,只是不允许点击。
想法?
【问题讨论】:
-
urlString的值是多少?