2011-11-30 45 views
0

我已经放在一起使用UIWebView(和常规控制器)来显示网页的概念应用程序的非常简单的证明。 如果网页有外部链接,那么当点击应用程序将切换到Web应用程序。 但是没有办法回到我原来的应用程序。当在UIWebView中单击外部链接时是否可以导航回到起始点?

如果我添加一个导航控制器,我是否可以导航回去,或者还有其他需要的东西吗?

(除了推出网页也将是必要的拦截网页中的自定义链接,并执行一些相关动作,如添加联系人,在这种情况下我也想能够导航回我的应用程序)。

TIA

回答

0

如果你的链接在Safari中打开,为用户找回您的应用程序的唯一方法是通过多任务栏(或明显戒烟和轻叩你的应用程序图标) - 有没有办法从另一个应用程序中以编程方式将您的应用程序带到最前沿。

虽然我很困惑,但如果你有一个UIWebView,点击链接的默认行为是在相同的Web视图中加载链接的页面。

在任何情况下,我想你想知道的是如何截获一个UIWebView的链接点击所以要做到这一点,你应该实现的委托方法:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 

然后,您可以测试通过点击链接测试UIWebViewNavigationTypeLinkClicked的导航类型属性

+0

我发现问题 - 我确实使用了shouldStartLoadWithRequest,因为你猜对了,并且正在调用[[UIApplication sharedApplication] openURL]。我发现如果URL的格式为“www.something.com”,它将在UIWebView中启动,但如果它的格式为“http://www.something.com”,则浏览器应用程序将启动。 – Gruntcakes

相关问题