如何捕获URL并使用UIWebView在应用程序中呈现它?

时间:2012-01-09 12:03:25

标签: ios uiwebview

我的iOS应用中有一个呈现为NSString的URL。现在,如果用户点击URL,它将在Safari中打开网页。有没有办法抓住水龙头并在UIWebView中打开它?我有UIWebView控制器的所有设置,只需要抓住URL点击。谢谢!

以下是现在呈现网址的代码。

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

1 个答案:

答案 0 :(得分:0)

编辑:您的URL不会被捕获并自动传递给UIWebView。你必须放置一些程序/方法来捕获它。否则,它将被移交给Safari,例如UITextView中的链接。


您必须将URL传递给UIWebView的实例。无论您是将其分类为新的ViewController还是当前viewController中的对象,您都可以通过调用loadRequest方法设置其URL:

// 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