转自:http://blog.csdn.net/xn4545945/article/details/35994863
一、自定义的思路
iOS中的TabBarController确实已经很强大了,大部分主流iOS应用都会采用。但是往往也不能满足全部的需求,因此需要自定义TabBar,自定义需要对系统的TabBar工作方式有很好的理解,自定义需要勇气。
自定义TabBar的原则:尽量利用系统自带TabBar,只改需要改的地方。
二、自定义TabBar的总体过程
1. 先把自带的 TabBar 条给取消了
2. 自己做一个 view, 上面放几个按钮 , 设定按钮的点击事件 . 并设置 selectIndex。
3.关联各个子viewController,覆盖相关事件。
三、细节很重要
1. 让自己创建的按钮关联到 viewController:
•用 tabbar 的 selectedIndex 属性 . 设置这个属性就行了 .
2. 取消系统的高亮 :
• 可以自定义一个按钮 . 重写里面的 setHighhighted 方法 , 什么也不做就行了 .( 如果调用 super 就相当于没写 )
3. 关于几个按钮只选中一个的方法 :
• 设置一个属性 , 记录上一个选中的按钮 .
• 点击当前按钮时 , 把上一个按钮设置为未选中 , 并把当前按钮设置为选中 , 最后把当前按钮赋值给上一个按钮 .
四、初步自定义
直接上代码,详见注释。
- #import <UIKit/UIKit.h>
- @interface XNTabBarController : UITabBarController
- @end
XNTabBarController.m