NSArray *viewCtrl = [NSArray arrayWithObjects:VC1,VC2,VC3, nil];
数组
NSMutableArray *veiwControllers = [NSMutableArray arrayWithCapacity:viewCtrl.count];
for (int i = 0; i < viewCtrl.count; i ++)
{
UIViewController *viewController = viewCtrl[i];
viewController.hidesBottomBarWhenPushed = NO;
//创建二级导航控制器
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:viewController];
nav.title = @" ";
[veiwControllers addObject:nav];
}
self.viewControllers = veiwControllers; //将VC集合放入到TabBarViewController里面去 。
self.selectedIndex = 0 ; 这个就是用于控制切换视图的 。
对于UITabBarViewController 下面的选项进行自绘的。
创建完UITableViewController后
有的人用的是隐藏的 tabbar 有的人用的是 删除掉这个view 。
而我这个是 ,只是把title变为了空 ,然后设置一个黑色的背景图 。 然后再加入Item
UIbutton 创建完了后,关联函数 。 然后 [self.tabbar addsubview btn] ; 注意Btn的宽度跟高度(49像素)
2、对于webview交互
UIwebview* view1;
[view1 stringByEvaluatingJavaScriptFromString:@"firstPage();"];
表示的是执行里面 firstPage() JS函数
同事 stringByEvaluatingJavaScriptFromString 也可以为web view里面的网页增加js函数 。
对于web调用IOS方法杂事通过URL调用的 , webview可以截取webview的请求 。
可以新增一个函数 , 提供给网页调用 , 而这个函数里面会出现herf =
NSString *jumpJS = [NSString stringWithFormat:@"function
startNewVC(title,json){window.location.href = 'objc::startNewVC'+'======'+title+'======'+json;}"];
[_emailwebView stringByEvaluatingJavaScriptFromString:jumpJS];
也就是说上面的语句为js增加了一个函数 , 当调用 startnewvc(,)。时 , 会调用一个网址, 而这个网址会被webview在
shouldStartLoadWithRequest 代理功能中截获到 。
NSString *absoluteString = [request.URL.absoluteString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
然后处理absoluteString 。看里面包含有哪些内容 ,然后解析 (按照之前为js添加函数的格式解析)。
解析到了 关键的函数名字后 , 就可以写响应的功能了 。