• 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]; }

      

  • 相关阅读:
    ListComparer
    C#.net中类与结构的区别
    对C# 中堆栈,堆,值类型,引用类型的理解
    一道面试题
    Mvc不等于三层架构
    SQL养成一个好习惯是一笔财富
    清除MSSQL事务日志文件
    面向对象设计(OOD)五大基本原则
    .net/c#中栈和堆的区别及代码在栈和堆中的执行流程详解之一
    IIS7 Login failed for user IIS APPPOOL\ASP.NET v4.0
  • 原文地址:https://www.cnblogs.com/stuwan/p/4376408.html
Copyright © 2020-2023  润新知