自定义UITabBarController

需求

类似咸鱼那样中间凸起或者中间自定义图像的tabbar层出不穷,我就想到在tabbar上加小红点这个功能.简单来说就是直接拿一个image盖上不就完事了么...,欺骗用户应该习以为常了☺

效果图

自定义UITabBarController_第1张图片
切图借来一用

实现

首先@interface ViewController : UITabBarController,因为大部分工作storyboard都做了,所以代码部分只剩添加中间突出按钮.

自定义UITabBarController_第2张图片
tabbarItem设置(中间item除外)
自定义UITabBarController_第3张图片
中间item设置title=@""的,其他不用管

处理中间按钮:在这的分两种情况处理:

1:中间tabbarItem只是样式凸起,扔有相应的自控制器与之对应,则不需要处理中间button的相应,直接 button.userInteractionEnabled = NO;,让初始的item响应即可;

2:还拿咸鱼来说,中间item并非只是ui凸起,controller需要自定义,则直接设置button点击事件,被覆盖的item则不响应,对应的子控制器也就浪费了....

添加button代码:

自定义UITabBarController_第4张图片
button初始化拿开的话代码少的可怜

注意:storyboard设置tabbarItem image的时候,点击图标会变蓝问题,需在NavigationController里添加原图控制即可.

自定义UITabBarController_第5张图片
NavigationController

以上就是全部代码了.

你可能感兴趣的:(自定义UITabBarController)