zoukankan      html  css  js  c++  java
  • iOS tabviewcontroller 三级控制器

    ios 里的 三级控制器 是 一个 tabbar控制器 控制 多个 navigation 控制器, 然后每个 navigation  控制器 对应着  一个 view 

    本项目 初始化分为两部分 : 视图初始化 , tabbar 初始化

    //视图初始化
    -(void)initView { //set view First *first=[[First alloc]init]; Second *second=[[Second alloc]init]; Third *third=[[Third alloc] init]; Fourth *fourth=[[Fourth alloc]init]; Fifth *fifth=[[Fifth alloc] init]; NSArray *array=@[first,second,third,fourth,fifth]; NSMutableArray *muarray=[NSMutableArray arrayWithCapacity:array.count]; for(int i=0;i<array.count;i++) {
        // 将 每个视图 放入 对应 的 navigation 控制器里 UINavigationController *navigation=[[UINavigationController alloc] initWithRootViewController:array[i]]; [muarray addObject:navigation]; } self.viewControllers=muarray; }

     

    // tabbar  初始化
    -(void)initTabbar { tabbar=[[UIView alloc] initWithFrame:CGRectMake(0, kscreenHeight-tabBarHeight, kscreenWidth, tabBarHeight)];
       //通过 image 的颜色 来 设置 背景颜色 tabbar.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"mask_navbar"]]; [self.view addSubview:tabbar]; NSArray *imgArray = @[@"home_tab_icon_1",@"home_tab_icon_2",@"home_tab_icon_3",@"home_tab_icon_4",@"home_tab_icon_5"];
      
      //给 tabbar 添加 按钮

      for(int i=0;i<imgArray.count;i++) { UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom]; [btn setBackgroundImage:[UIImage imageNamed:imgArray[i]] forState:UIControlStateNormal]; btn.frame=CGRectMake(btnWidth*i, (tabBarHeight-btnHeight)/2, btnWidth, btnHeight); btn.tag=100+i; [btn addTarget:self action:@selector(tabbtnclick:) forControlEvents:UIControlEventTouchUpInside]; [tabbar addSubview:btn]; } _selectimg=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, btnWidth, btnHeight)]; _selectimg.image=[UIImage imageNamed:@"home_bottom_tab_arrow"]; [tabbar addSubview:_selectimg]; //set tabbar }

      

    //然后再设置按钮点击事件
    -(void)tabbtnclick:(UIButton *)btn { //NSLog(@"%d",btn.tag);
      // self . selectedindex 是 跳转 view self.selectedIndex=btn.tag-100; [UIView animateWithDuration:0.2 animations:^{ _selectimg.center=btn.center; }]; }

      

    //  视图 即将出现时调用的方法
    -(void) viewWillAppear:(BOOL)animated { ViewController *ct=(ViewController *) self.tabBarController; [ct show:YES]; }

      

  • 相关阅读:
    2049
    2046 ACM 数学
    1290 ACM 数学
    2017 ACM 字符串的本质
    1171 Big Event in HDU 01背包
    2045 数学:排列组合
    git命令(版本控制之道读书笔记)
    mysql:赋予用户权限、查看及修改端口号
    Linux系统的命令别名功能(转)
    回到上次目录、历史命令查找快捷方式及执行时间显示设置、查看系统版本
  • 原文地址:https://www.cnblogs.com/stuwan/p/4376408.html
Copyright © 2011-2022 走看看