单击UIWebView上的链接时打开新的UIViewController

我发现这个线程匹配我的问题: 单击UIWebView中的链接推到NavigationView堆栈

但是,以下情况是不同的:我使用的是基于视图的应用程序,当按下相应的button时,手动切换到不同的视图控制器。 而不是使用链接我使用onClick方法来检测用户点击一个UIWebView上的东西,并试图用一个新的UIWebView打开一个新的ViewController。

将相同的代码工作,还是我必须做出一些改变?

你将不得不做一些修改

第一:当onClick ,你将不得不redirect你的当前页面到一个新的位置这个位置例如将是MYLocation://GoThere

第二:更新shouldStartLoadWithRequest

 -(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { NSURL *url = request.URL; NSString *urlString = url.absoluteString; //Check if special link if ( [ urlString isEqualToString: @"MYLocation://GoThere" ] ) { //Here present the new view controller MyViewController *controller = [[MyViewController alloc] init]; [self presentViewController:controller animated:YES]; return NO; } return YES; } 

我认为你可以使用shouldStartLoadWithRequest Omar张贴。 如果新的viewcontroller有一个webviewcontroller,那么你应该传递url(甚至是请求)到新的viewcontroller来显示被点击的URL。