2011-11-30 15 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

相關問題