2012-01-09 30 views
0

我的iOS應用程序中有一個呈現爲NSString的URL。現在,如果用戶點擊網址,它將在Safari中打開網頁。有沒有一種方法可以捕捉水龍頭並在UIWebView中打開它?我有UIWebView控制器所有設置,只需要捕捉URL的點擊。謝謝!如何捕捉URL並使用UIWebView在應用程序中呈現它?

下面是現在呈現URL的代碼。

[detailInfoList addObject: [NSDictionary dictionaryWithObjectsAndKeys: 
          [NSNumber numberWithInteger:kCarrierInfo], @"type", 
          [NSString stringWithFormat:@"http://www.ups.com/track/%@/%@", userPackage.carrier, userPackage.trackingNumber], 
          @"link", nil]]; 
+0

什麼類型的對象是detailInfoList?如何/在哪裏呈現網址? – jonkroll 2012-01-09 15:50:13

回答

0

編輯:您的URL不會被自動捕獲並傳遞給UIWebView。你必須設置一些程序/方法來抓住它。否則,它將被移交給Safari,例如,鏈接在UITextView中。


您必須將URL傳遞給UIWebView的實例。不管你是子類它作爲一個新的視圖控制器或者是你目前的viewController中的一個對象,你可以通過調用loadRequest方法設置它的網址:

// if it is an object 
[self.webView setLoadRequest:[URLRequest requestWithURL:[NSURL URLWithString:@"http://www.apple.com"]]]; 

// or if it is subclassed 
self.loadRequest = ... // as mentioned above 

您也可以使用requestWithURL:(NSURL *)theURL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval),這我個人更喜歡,因爲你可以用更多的選項來定製它。

這裏是有用的鏈接閱讀: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWebView_Class/Reference/Reference.html

http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/Reference/Reference.html#//apple_ref/doc/c_ref/NSURLRequest

http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/Reference/Reference.html#//apple_ref/doc/c_ref/NSURL

+0

謝謝!我得到它與URL中傳遞的工作。 :) – LeoAlmighty 2012-01-10 11:16:18

相關問題