- 將UIWebViewDelegate添加爲視圖控制器實現的協議。
- 將自己設置爲UIWebView的代表
- 將方法
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
添加到您的視圖控制器。
- 從此方法返回NO(除非它用於初始頁面加載)並捕獲URL以導航到另一個視圖控制器。
在你的頭添加UIWebViewDelegate協議
@interface MyViewController : UIViewController <UIWebViewDelegate>
在您的viewDidLoad中設置委託(假設你有一個與一個IBOutlet web視圖的@property設置爲一個UIWebView)
self.webView.delegate = self;
然後添加委託方法來加載請求。
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString* urlStr = [[request URL] absoluteString];
if(request == nil || [urlStr isEqualToString:@"http://YourInitialURL"])
{
return YES;
}
//Use this url to change the other web view in your main view controller
NSURL* url = [request URL];
return NO;
}
你能否解釋一下#4多一點?也許是一個代碼示例。對不起,我是一個新手 – AdamTheRaysFan
我給代碼添加了答案。 –