Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
加载UIWebview时,我可以更改URL吗?(iOS)_Ios_Url_Uiwebview - Fatal编程技术网

加载UIWebview时,我可以更改URL吗?(iOS)

加载UIWebview时,我可以更改URL吗?(iOS),ios,url,uiwebview,Ios,Url,Uiwebview,我想在webview加载时更改URL,可以吗?例如:如果我发现URL是“www.google.com”,我想更改它并继续加载它。我的代码是: -(void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.webView.delegate = self; [self.webView loadRequ

我想在webview加载时更改URL,可以吗?例如:如果我发现URL是“www.google.com”,我想更改它并继续加载它。我的代码是:

-(void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
    self.webView.delegate = self;
    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]];
}
但我不想这样做:

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)requestnavigationType:(UIWebViewNavigationType)navigationType
{
    if ([request.URL isEqual:@"www.google.com"]) {
        [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com.hk"]]];
        return NO;
    }
    return YES;
}

还有别的办法吗?谢谢。

您可以将UIWebView子类化,然后重新实现loadRequest方法,如果匹配则进行更改。

我认为这是个好主意。让我试试。谢谢您的回答。那么,重新实现loadRequest方法时,您有什么不同之处?我的意思是仍然需要使用-(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)requestnavigationType:(UIWebView navigationType)navigationType截取url,然后调用CustomizeLoadRequestmethod@wensj你介意给我看看你的小班吗?我将不胜感激!