在同一ViewController的另一个实例中加载url链接

时间:2014-07-04 05:05:08

标签: ios objective-c uiwebview

我有一个带有uiwebvew的ViewController。这被称为显示webcontents。

我的问题是,如果webcontent有链接,我想在同一个ViewController的另一个实例中显示该链接页面。

到目前为止,我无法这样做。我想我在这里遗漏了一些东西。

有人能指出我的问题吗?

提前致谢。

-(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {

    if (navigationType == UIWebViewNavigationTypeLinkClicked) {
       PageDetailsViewController *pdvc = [self.storyboard instantiateViewControllerWithIdentifier:@"PageDetails"];
       NSURL *websiteUrl = [NSURL URLWithString:@"http://www.google.com"];
       NSURLRequest *urlRequest = [NSURLRequest requestWithURL:websiteUrl];
       [pdvc.webview loadRequest:urlRequest];
       [self.navigationController pushViewController:pdvc animated:YES];
       return NO;

    }
      return YES;

当我尝试加载相同的viewcontroller时,它加载很好。所以,我的猜测是,我的webview委托或导航控制器可能有问题。

任何想法??

1 个答案:

答案 0 :(得分:0)

pdvc.webview将为nil,因为在您尝试引用它时,它的视图尚未加载。您应该将URL传递给pdvc,并让该控制器在viewDidLoad中加载其Web视图。