第一次写技术博客,有点紧张。
先说说这篇文章中所述技术的适用情景。 举个栗子:我自己项目中的情况:项目最初的版本中所有界面都是原生的, 而如今加入了分类列表的web界面, 需求是点击分类列表界面(webView)的某个商品进入商品详情页(原生界面)。
//webView的代理方法(在此代理方法中进行截取操作)\
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString * url = [[request URL] absoluteString];
// "/go-product-dedail" 这个字符串是和web开发人员约定好的\
url中含有 "/go-product-dedail-121" 字符串, 121是商品id
if([url rangeOfString:@"/go-to-product-dedail"].length != 0)
{
NSString * goodsId = [[url componentsSeparatedByString:@"-"] lastObject];
// FFNewDetailViewController 商品详情的Vc
FFNewDetailViewController * dvc = [[FFNewDetailViewController alloc] init];
dvc.goodsid = goodsId;
[self.navigationController pushViewController:dvc animated:YES];
//不发起请求
return NO;
}
return YES;
}
跳转其他原生界面如法炮制即可。