码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-09-04 19:54:35      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:界面   addchild   技术   ctrl   第一个   cond   tco   一个   图标   

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

继续第一回往下讲,前面我们已经给tabbar添加了2个子控制器,我们再在这个基础上添加2个子控制器,命名为ThirdViewController和FourthViewController。
技术分享图片
创建好控制器记得添加到tabar控制器里面。

添加tabar按钮

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

设置好后运行一下程序。
技术分享图片
是不是有点微信的样子了?我们继续把剩下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";

运行程序观察效果。
技术分享图片

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

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

技术分享图片
可以看到,选中的图标变成了绿色,不过微信的好像是浅绿色,没找到他们的配色方案,先用标准绿色代替了。另外,选中的图标也可以设置成为其它图标,大家可以自行尝试。

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

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

小结

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

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

标签:界面   addchild   技术   ctrl   第一个   cond   tco   一个   图标   

原文地址:http://blog.51cto.com/1038433/2170352

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!