温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

UITabBarController的基本原理及使用(二)

发布时间:2020-06-22 04:41:10 来源:网络 阅读:1612 作者:windbadboy 栏目:移动开发

继续我们的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属性)。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI