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

Cod*_*Red 3 xcode objective-c uiwebview uiviewcontroller ios

我发现这个线程符合我的问题:点击UIWebView中的链接推送到NavigationView堆栈

但是,以下情况是不同的:我使用基于视图的应用程序,而不是使用navigationController,在按下相应的按钮时手动切换到不同的viewcontroller.我使用onClick方法来检测用户何时点击UIWebView上的某些内容并尝试使用新的UIWebView打开新的ViewController,而不是使用链接.

相同的代码是否有效或者我必须进行一些更改?

Oma*_*ith 12

你将不得不做一些修改

第1:何时onClick,您必须将当前页面重定向到新位置.例如,此位置将是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;

}
Run Code Online (Sandbox Code Playgroud)