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属性)。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...