2012-06-22 29 views
1

是否可以在同一個應用程序中處理URL方案的調用?在應用程序中打開html鏈接

下面是一個例子: 在我的應用程序中有一個html鏈接,該鏈接會觸發safari。我想要做的就是點擊該鏈接,無論我在應用程序中的哪個位置,ViewController都會通過webview進行推送。

如果這是可能的,我必須在哪裏做?如果我處理URL Scheme的調用,我需要在應用程序的代理上執行。在這種情況下,我應該在哪裏做?如果視圖控制器需要推送,誰負責推送它?目前在屏幕上的appdelegate或視圖控制器?

謝謝:)

+0

您可以使用輕觸手勢識別器。 – rishi

+0

請檢查我的[問題] [1] [1]:http://stackoverflow.com/questions/10945439/detect-click-on-nsurl-on-uitextview 希望它會幫助你。 謝謝 –

回答

2

請檢查我Question

我面臨同樣的問題。希望它能幫助你。

感謝

+0

這是什麼即時通訊尋找。但是,一旦我繼承了應用程序委託,那麼推送新的視圖控制器的責任是誰呢? – tomidelucca

+0

其他的東西會和普通的應用程序一樣。 –

2
  1. UITapGestureRecognizer,如果你的鏈接是一個標籤:

    UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openLink:)]; 
    [yourLinkLabel addGestureRecognizer:gestureRecognizer]; 
    gestureRecognizer.numberOfTapsRequired = 1; 
    gestureRecognizer.cancelsTouchesInView = NO; 
    
  2. 如果是在UIWebView加載一個網頁內的鏈接,那麼你可以使用: webView:shouldStartLoadWithRequest:navigationType。每次用戶點擊UIWebView中的鏈接時都會調用它。

0

那麼它的那種煩人涉及視圖控制器。我發現使用JavaScript更容易在頁面中加載新的鏈接/內容。這樣一個webview被涉及,數據/ html文件被洗牌。如果您需要更多信息,請與我們聯繫。

0

試試這個。 使用此代碼在電流控制器

WebViewController *objWebViewController  = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil]; 
       objWebViewController.m_strHtml=[NSString stringWithString:@"www.google.com"];//m_strHtml is a NSString variable in WebViewController class 
       [self.navigationController pushViewController:objWebViewController animated:YES]; 
       [objContentWebViewController release]; 

使用此在WebViewController

NSURL *url = [[NSURL alloc] initWithString:m_strHtml]; 
     NSURLRequest * req = [[NSURLRequest alloc] initWithURL:url]; 
     [url release]; 
     [Webview loadRequest:req]; 
     [req release]; 

否則你可以加載一個網頁視圖和Web視圖內的HTML中打開的鏈接裏面
作爲默認。使用下面的代碼。

m_strHtml=[[NSString alloc]initWithFormat:@"<html><body>%@</body></html>",m_strHtmlContent];//m_strHtmlContent is string variable to store the html content 

     [Webview loadHTMLString:m_strHtml baseURL:Nil]; 
     Webview.backgroundColor=[UIColor clearColor]; 
相關問題