zoukankan      html  css  js  c++  java
  • UI_UITabBarController

    建立控制器

        // 普通控制器
        GroupViewController *groupVC = [[GroupViewController alloc] init];
        SecondViewController *secondVC = [[SecondViewController alloc] init];
        ThirdViewController *thirdVC = [[ThirdViewController alloc] init];
        FourthViewController *fourthVC = [[FourthViewController alloc] init];
        // 导航栏控制器
        UINavigationController *groupNC = [[UINavigationController alloc] initWithRootViewController:groupVC];
        UINavigationController *secondNC = [[UINavigationController alloc] initWithRootViewController:secondVC];
        UINavigationController *thirdNC = [[UINavigationController alloc] initWithRootViewController:thirdVC];
        UINavigationController *fourthNC = [[UINavigationController alloc] initWithRootViewController:fourthVC];```
    
    @interface AppDelegate () <UITabBarControllerDelegate>
        // tabBarVC 控制器
        UITabBarController *tabBarVC = [[UITabBarController alloc] init];
    
        // 设置 tabBarVC 代理(先遵守协议)
        tabBarVC.delegate = self;
    
        // 设置 tabBar 默认选中的控制器
        tabBarVC.selectedIndex = 1;
    
        // 设置 tabBarVC 管理(包括)的控制器
        tabBarVC.viewControllers = @[groupNC, secondNC, thirdNC, fourthNC, uiVC1, uiVC2, uiVC3];
        // 自己定义样式 tabBarItem(选中颜色)注意是那种控制器
        groupNC.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"活动" image:[UIImage imageNamed:@"activity"] selectedImage:[UIImage imageNamed:@"微信"]];
        // 显示右上角 小圈圈
        groupNC.tabBarItem.badgeValue = @"10";
    
        secondNC.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"影院" image:[UIImage imageNamed:@"cinema"] selectedImage:[UIImage imageNamed:@"通讯录"]];
        thirdNC.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"电影" image:[UIImage imageNamed:@"movie"] selectedImage:[UIImage imageNamed:@"发现"]];
        fourthNC.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"我" image:[UIImage imageNamed:@"user"] selectedImage:[UIImage imageNamed:@"我"]];
        // 设置整个 tabBar
        // 颜色(和样式冲突)
        tabBarVC.tabBar.barTintColor = [UIColor yellowColor];
        // 样式(和颜色冲突)
    //    tabBarVC.tabBar.barStyle = UIBarStyleBlack;
        // 字体颜色
        [tabBarVC.tabBar setTintColor:[UIColor greenColor]];
    #pragma mark - 选择 tabBar 所控制的控制器,会运行的方法(每次都会运行)
    - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
    {
        NSInteger index =  [tabBarController.viewControllers indexOfObject:viewController];
        if (index == 3) {
            NSLog(@"four");
        }
    
        if (tabBarController.selectedIndex == 2) {
            NSLog(@"three");
        }
    
    }
    
    #pragma mark - 控制 tabBar 能否够点击
    - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
    {
        return YES;
    }
        // 获取到全部的 UINavigationBar(project里面全部)
        [[UINavigationBar appearance] setBarTintColor:[UIColor purpleColor]];
  • 相关阅读:
    按ECS退出全屏模式
    【转】vux (scroller)上拉刷新、下拉加载更多
    vux组件样式大合集
    【转】vue+axios 前端实现登录拦截(路由拦截、http拦截)
    可拖动元素拖动到另外一个元素位置的时候,互相交换位置
    优秀文章链接
    获取kendoDatePicker里的正确日期格式
    给kendo ui 里的控件绑定事件的方法
    有人物联网调试过程
    开源cms系统siteServer的使用记录
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7338085.html
Copyright © 2011-2022 走看看