单击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。