需求效果
- 开发中如果是常见的系统样式
tabbar设计,用系统自带的TabbarController实现即可。

- 如果有特殊需求,比如中间需要按钮突出或者其它不规则的设计样式可以用这个第三方库来实现CYLTabBarController,基本上可以满足绝大多数的不规则设计。
- 如果还有更特殊的设计(比如下图),中间的福袋按钮需要上下跳动,这个时候只能自定义
tabbar实现该效果。

实现思路
- 新建一个类
HomeTabBarController继承于UITabBarController,将该类设置为window的rootViewController。 - 将
tabbarController自带的tabBar隐藏掉,在HomeTabBarController的viewDidLoad方法中执行self.tabBar.hidden = YES;。 - 将有凹陷的图连接阴影部分一起切出来,作为一个整体图片,作为背景图添加到
tabbarController的view中,然后平均分布创建5个按钮,中间按钮为福袋按钮,并设置上下重复移动的动画效果即可。
注意事项
在APP 进入下一个界面的时候底部的自定义tabbar并不会消失,需要自己在
HomeTabBarController的viewWillDisappear与viewWillAppear方法中处理消失与显示在每一个
tabbarController的子vc中需要自己处理对于滚动后tabbarView遮挡的问题在APP进入后台挂起与返回的时候动画效果会停止,需要注册通知重启动画
代码
具体动画效果运行Demo地址,GIF太大,无法上传








