UITabBarController的基本原理及使用(二)
admin
2023-02-09 11:40:13
0

继续我们的UITabBarController探索之旅,如果你错过了之前的文章,给你一个传送门,建议按顺序阅读。UITabBarController的基本原理及使用(一)

继续第一回往下讲,前面我们已经给tabbar添加了2个子控制器,我们再在这个基础上添加2个子控制器,命名为ThirdViewController和FourthViewController。
UITabBarController的基本原理及使用(二)
创建好控制器记得添加到tabar控制器里面。

添加tabar按钮

    //设置tabbar按钮标题
    firstVC.tabBarItem.title = @"微信";
    //设置tabbar按钮图片,图片可以自行网上搜索,建议32*32大小。
    firstVC.tabBarItem.image = [UIImage imageNamed:@"微信"];
    //设置tabbar小红点
    firstVC.tabBarItem.badgeValue = @"10";

设置好后运行一下程序。
UITabBarController的基本原理及使用(二)
是不是有点微信的样子了?我们继续把剩下3个子控制器按钮的样式进行设置。

    //设置tabbar按钮标题
    firstVC.tabBarItem.title = @"微信";
    secondVC.tabBarItem.title = @"通讯录";
    thirdVC.tabBarItem.title = @"发现";   
    fourthVC.tabBarItem.title = @"我";
    //设置tabbar按钮图片
    firstVC.tabBarItem.image = [UIImage imageNamed:@"微信"];
    secondVC.tabBarItem.image = [UIImage imageNamed:@"微信通讯录"];
    thirdVC.tabBarItem.image = [UIImage imageNamed:@"微信发现"];
    fourthVC.tabBarItem.image = [UIImage imageNamed:@"微信通讯录"];
    //设置tabbar小红点
    firstVC.tabBarItem.badgeValue = @"10";

运行程序观察效果。
UITabBarController的基本原理及使用(二)

tabbar的四个子控制器都有了自己的图标样式。如果你找不到素材源,我提供一个:素材网站
微信图标选中时会将图标渲染成绿色,而tabbar系统默认的是蓝色,我们需要修改主是颜色。

    //修改主题颜色,注意是对tabbar控制器进行修改。
    tabBarViewController.tabBar.tintColor = [UIColor greenColor];

UITabBarController的基本原理及使用(二)
可以看到,选中的图标变成了绿色,不过微信的好像是浅绿色,没找到他们的配色方案,先用标准绿色代替了。另外,选中的图标也可以设置成为其它图标,大家可以自行尝试。

//设置选中图标时的图像展示。
firstVC.tabBarItem.selectedImage = [UIImage imageNamed:@"微信通讯录"];

Storyboard创建UITabBarController
下面,我们通过storyboard的方式来实现同样的效果。
UITabBarController的基本原理及使用(二)
Main.storyboard默认的控制器是UIViewController,我们先删除掉。选中Main.storyboard文件,在右侧窗口选择View Controller Scene,按键盘删除键清除默认的控制器。
UITabBarController的基本原理及使用(二)
从右侧窗口的控件栏拖入一个UITabBarController到主界面,并勾选is Initial View Controller。这个选项的意思是设置选中的控制器为程序的入口,任何程序必须有且只有一个入口。
回想一下之前我们是怎么给tabbar添加子控制器的,我们通过代码建立了4个控制器并使用addChildViewController方法将4个控制器设为tabbar的子控制器。在storyboard里,我们不用写一行代码,一个“拖”字诀走天下。
UITabBarController的基本原理及使用(二)
在右侧控件栏拖入4个ViewController。
UITabBarController的基本原理及使用(二)
然后选中TabBarController,按住Ctrl键的同时再按住鼠标左键,拖出一条线指向第一个ViewController,放开鼠标后会弹出一个窗口。
UITabBarController的基本原理及使用(二)
选择图中所示的view controllers,这就代表指向的ViewController已成为tabbar控制器的第一个子控制器。
UITabBarController的基本原理及使用(二)
照这个操作方法,将另外三个控制器设置为tabbar的子控制器。
UITabBarController的基本原理及使用(二)
我们可以看到tabbar控制器底部的导航栏已经自动出现了4个按钮,再进行一些初始化设置。
UITabBarController的基本原理及使用(二)
选中一个子控制器的导航栏,右侧窗口区会出现导航栏的部分可设置属性,很熟悉对不对,title和image我们前面用代码实现的时候就用到过,请你动手设置一下,看看是否和代码拥有一样的效果。

小结

  1. UITabBarController实际上就是一个管理控制器的控制器;
  2. 通过addChildViewController方法添加子控制器;
  3. 存在多个子控制器的情况下通过selectedIndex属性设置哪个控制器为选择并显示的状态。
  4. 导航栏默认高为64;
  5. tabbar控制器可以在子控制器之间方便的切换(前台通过点击导航按钮,后台使用selectIndex属性)。

相关内容

热门资讯

今日重大通报“麻友圈2.怎么开... 今日重大通报“麻友圈2.怎么开挂?”详细开挂教程您好,麻友圈2这个游戏其实有挂的,确实是有挂的,需要...
最新引进“红豆炸金花.可以开挂... 家人们!今天小编来为大家解答红豆炸金花透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买...
今日重大发现“威信娱乐.怎么开... 家人们!今天小编来为大家解答威信娱乐透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...
我来教教您“大玩家福建麻将.辅... 您好:大玩家福建麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这...
【好评中国】创新数字消费场景 ... 本文转自【安徽新闻网】; 中国互联网络信息中心政策与国际合作所近日发布的《数字消费发展报告(2025...
【今日要闻】“闽游麻将拼多多.... 家人们!今天小编来为大家解答闽游麻将拼多多透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪...
重磅消息“天天爱蚌埠麻将.有没... 家人们!今天小编来为大家解答天天爱蚌埠麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪...
玩家最新攻略“七千在线.是不是... 您好:七千在线这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
我来教教您“乐成棋牌.怎么开挂... 家人们!今天小编来为大家解答乐成棋牌透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
今日重大发现“开心游戏.真的有... 有 亲,根据资深记者爆料开心游戏是可以开挂的,确实有挂(咨询软件无需打开...