美文网首页
iOS关于 UITabBarController和 UINavi

iOS关于 UITabBarController和 UINavi

作者: 路边的风景呢 | 来源:发表于2017-05-22 14:28 被阅读28次

    首先我些这些东西的时候使用的书纯代码写的 没有使用storyboard 想必使用纯代码创建工程是每个开发者都会的这里就不多说了

    MYController* my = [[MYController alloc]init];

    self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

    self.window.rootViewController =my;

    [self.window makeKeyAndVisible];

    这里说一下这个 MYController 这个根视图的类型是 UITabBarController类型  然后在控制器中写如下代码:

    -(void)addChileVC{

    MessageController * threeVC =[[MessageController alloc]init];

    threeVC.title =@"数据推广";

    UINavigationController * three =[self boardNameInstantVc:threeVC];

    PushDataController * otherVC =[[PushDataController alloc]init];

    otherVC.title =@"文案采集";

    UINavigationController * other =[self boardNameInstantVc:otherVC];

    OtherController * elseVC =[[OtherController alloc]init];

    elseVC.title =@"商家精选";

    UINavigationController * elses =[self boardNameInstantVc:elseVC];

    self.viewControllers = @[three,other,elses];

    }

    - (UINavigationController *)boardNameInstantVc:(UIViewController *)controller{

    UINavigationController * nav =[[UINavigationController alloc]initWithRootViewController:controller];

    return nav;

    }

    这是添加控制器的代码

    -(void)addtabar{

    MTtabar * custabar =[[MTtabar alloc]init];

    custabar.frame = self.tabBar.frame;

    [self.view addSubview:custabar];

    self.custabar = custabar;

    }

    -(void)addbtn{

    for (int i = 0; i<3; i++) {

    MTTabButton * btn =[[MTTabButton alloc]init];

    NSString *normalImage = [NSString stringWithFormat:@"TabBar%@",@(i + 1)];

    btn.tag = i;

    [btn setImage:[UIImage imageNamed:normalImage] forState:UIControlStateNormal];

    CGFloat btnW = self.view.frame.size.width / 3;

    CGFloat btnH = 45;

    btn.frame = CGRectMake(i*btnW, 0, btnW, btnH);

    if (i == 0) {

    btn.selected =YES;

    self.selectBtn = btn;

    }

    [btn addTarget:self action:@selector(btnclick:) forControlEvents:UIControlEventTouchDown];

    [self.custabar addSubview:btn];

    }

    }

    -(void)btnclick:(UIButton * )sender{

    self.selectBtn.selected = NO;

    sender.selected = YES;

    self.selectBtn = sender;

    下面的这一句代码是tabar的方法 根据不同的下标去跳转不同的控制器 所以要在创建按钮的时候设置一下按钮的tag值

    self.selectedIndex = sender.tag;

    }

    还有另外一种方法就  直接创建一个继承UItabarviewcontroller的控制器 在里面添加自己想加的控件!

    nextVC.hidesBottomBarWhenPushed=YES;// 进入后隐藏tabbar

    这个是隐藏tabar的方法!

    今天添加一下修改TabBar默认控制器的代码

    self.selectedViewController =[self.viewControllers objectAtIndex:1];

    后面数组里面的坐标可以根据自己的需求改!

    这个是自定义tabar。 并且跳转相应的控制器 就是自己在开发的时候遇到的情况 帮助一下需要帮助的人!大神勿喷啊 如果有更好的方法 请大神指教!!!!!!!!

    相关文章

      网友评论

          本文标题:iOS关于 UITabBarController和 UINavi

          本文链接:https://www.haomeiwen.com/subject/qpthxxtx.html