UIWebView没有响应

时间:2009-10-12 02:41:49

标签: iphone uiwebview hyperlink

我在拦截UIWebView中的URL点击时遇到问题。我已经阅读并发现最常见的问题是链接有一个target =“_ blank”属性要在新窗口中打开,但我的没有这样的属性。 URL的格式为“/ word”,其中word是一些任意单词。我还在必要时使用%20对它们进行编码。我的UIWebViewDelegate类甚至没有收到shouldStartLoadWithRequest:事件,只是没有任何反应。我也尝试在HTML中插入一个按钮,这些按钮也没有响应。

是否还有其他规则来管理UIWebView会识别哪些URL?我尝试过使用绝对网址(甚至只是“http://www.google.com”),并且只使用google的有效链接替换整个HTML字符串,但都无济于事。真正奇怪的是我可以找到一个可以工作的链接 - 它可以被点击并且我成功地捕获了这个事件,但似乎(我看起来相当难)在包含此链接的HTML和其他。

鉴于我是iPhone平台的新手,我认为我可能会做一些更根本错误的事情。通过应用程序的流程如下所示:主视图是一个UITableViewController,它允许用户从单词列表中进行选择。选择单词后,将创建一个新的UIViewController并将其推送到屏幕上。这是带有UIWebView的视图,它显示从SQLite数据库加载的数据。下面是一些相关的代码。

//move from the UITableViewController to UIViewController with UIWebView
DetailViewController *viewController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
...
[self.navigationController pushViewController:viewController animated:YES];

//load HTML and display it in a UIWebView
NSString *output = [NSString stringWithFormat:@"%@%@%@",header,definition,footer];
[definitionView loadHTMLString:output baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

任何帮助都会非常感激 - 用这个来拉我的头发一段时间。

1 个答案:

答案 0 :(得分:0)

你应该看一下PhoneGap:http://phonegap.com/

PhoneGap就是这样做的(基本上它是一个巨大的UIWebViewDelegate,可以为iPhone编写能够利用相机,GPS,加速度计等的JavaScript应用程序)。下载源代码,在“iphone”文件夹中打开PhoneGap.xcodeproj,然后查看PhoneGapDelegate类。这是UIWebViewDelegate的一个很好的示例用法,很难找到更好的例子:)当然它有用。