Question about UIWebview when tapping links

2019-09-01 04:22发布

问题:

I have an UIWebView which loads an html-file. Once the user clicks a link, i want the url to open in a custom UIWebview. I tried some things:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"MyiPadHTML"
                                                         ofType:@"html"];
    NSURL *url = [NSURL fileURLWithPath:htmlPath];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [webview loadRequest:request];       
}

else  {
    NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"MyHTML" 
                                                         ofType:@"html"];
    NSURL *url = [NSURL fileURLWithPath:htmlPath];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [webview loadRequest:request];   
}

This is me, loading the files, depending on the device. That works great. I did it in the - (void)viewDidLoadmethod

回答1:

Shouldn't this work?

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    if ( navigationType == UIWebViewNavigationTypeLinkClicked ) {
        [myOtherCustomWebView loadRequest:request];

        return NO;
    }

    return YES;
}