zoukankan      html  css  js  c++  java
  • IOS笔记049-UITabBarController

    1、简单实现 

    效果:在视图底部显示一个工具栏

    屏幕快照 2015 06 14 12 30 09

    代码实现

        

        // 创建窗口

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

        // 指定跟控制器

        UITabBarController *tabBar = [[UITabBarController alloc] init];

        

        self.window.rootViewController = tabBar;

        

        UIViewController *vc1 = [[UIViewControlleralloc] init];

        

        [tabBar addChildViewController:vc1];

        vc1.view.backgroundColor = [UIColorredColor];

        vc1.tabBarItem.title  = @"聊天";

        vc1.tabBarItem.image = [UIImage imageNamed:@“tab_recent_nor"];

        

        UIViewController *vc2 = [[UIViewControlleralloc] init];

        

        [tabBar addChildViewController:vc2];

        vc2.view.backgroundColor = [UIColorgreenColor];

        vc2.tabBarItem.title  = @"空间";

        vc2.tabBarItem.image = [UIImage imageNamed:@“tab_qworld_nor"];

        

        

        UIViewController *vc3 = [[UIViewControlleralloc] init];

        

        [tabBar addChildViewController:vc3];

        vc3.view.backgroundColor = [UIColorgreenColor];

        vc3.tabBarItem.title  = @"联系人";

        vc3.tabBarItem.image = [UIImage imageNamed:@“tab_buddy_nor"];

        

        UIViewController *vc4 = [[UIViewControlleralloc] init];

        

        [tabBar addChildViewController:vc4];

        vc4.view.backgroundColor = [UIColorgreenColor];

        vc4.tabBarItem.title  = @"设置";

        vc4.tabBarItem.image = [UIImage imageNamed:@“tab_me_nor"];

        vc4.tabBarItem.badgeValue = @“10”; // 右上角显示数字

        

        // 显示窗口

        [self.windowmakeKeyAndVisible];

        

     综合使用

    UITabBarController的使用

    一般是一个UITabBarController控制多个NavigationController,这样可以保证每一个控制器下都有一个单独的顶部导航栏,而不是整个应用只有一个导航栏。

    比如下面这个界面,一个UITabBarController控制多个NavigationController,然后有NavigationController控制界面内部的跳转。

    屏幕快照 2015 06 17 13 52 41    

     

    类似效果如下:

     

    主界面有三个TableView组成,通过tabBarController进行控制。

    在聊天界面选中cell后跳转到下一个控制器

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    {

        UIStoryboard *story = [UIStoryboardstoryboardWithName:@"Main"bundle:nil] ;

        SLQChatViewController *chat = [story instantiateViewControllerWithIdentifier:@"chat"];

        // 选中cell后跳转到chat界面

        [self.navigationControllerpushViewController:chat animated:YES];

    }

       屏幕快照 2015 06 17 14 11 59          屏幕快照 2015 06 17 14 12 30

    在设置界面的关于条目通过拖线建立与关于控制器的跳转。

    注意情况

    主要是各种cell的自定义方法。因为很多界面都是自定义的cell组成的。

    还有就是从storyboard中加载控制器进行界面的跳转

        UIStoryboard *story = [UIStoryboard storyboardWithName:@“Main"bundle:nil] ;

        SLQChatViewController *chat = [story instantiateViewControllerWithIdentifier:@"chat"];

        // 选中cell后跳转到chat界面

        [self.navigationController pushViewController:chat animated:YES];

    隐藏底部导航条可以设置控制的属性

    屏幕快照 2015 06 17 14 04 36

  • 相关阅读:
    linux 内存映射-ioremap和mmap函数
    vue 模板语法-插值的操作(12-22)
    chrome浏览器json插件
    vue初识(1-11)2020-10-27
    后盾人:JS课程第一章(11-18)2020-10-25
    博客园美化
    chrome 设置自动刷新网页
    二叉树的层次遍历
    poj 2905 双向队列(待补充)
    poj 2159 D
  • 原文地址:https://www.cnblogs.com/songliquan/p/4583211.html
Copyright © 2011-2022 走看看