代码示例运行环境为 IOS10,swift 3.0
说实话,UITabBarController作为IOS自带的控件,在带来便利的同时,也带来了不少的问题,尤其是在对controller自定义的时候,有诸多不便,接下来就说一说问题并解决一下。
无法通过TabBarController直接添加item控件
想要增加tabbar中的item数量,只能通过TabBarController的属性viewControllers先添加viewController,然后再修改viewController的item。
无法通过修改属性来改变显示ViewController的方式
例如,点击某个item,viewController的显示方式为present或者是push。假设TabBarController有三个子controller分别为vc1、vc2、vc3,如果要对vc2实现present或者是push的效果,那么需要初始化一个默认的UIViewController命名为vc4,将TabBarController的viewControllers修改为vc1,vc4,vc3,并在代理中实现didSelected方法,来prensent或者push出vc3.
item下自定义image的位置太难
虽然可以通过调整image的insect来调整位置,但是超出tabbar高度的item会导致超出的部分点击无效。所以,此时可以通过自定义一个button,覆盖在item上,来解决点击无效的问题。
去除TabBar的顶部黑线
TabBar的顶部和NavigationBar的底部默认都会有一条黑线,在某些情况下不符合UI设计。通过同时设置tabbar的shadowImage和backgroundImage就能去掉黑线。navigationBar也是一样的做法。
![](https://img.haomeiwen.com/i3012094/8fb34f8e5d80a6b8.png)
如果有任何疑问或者是文中存在技术性错误,请留言,我会尽快回复或者更改。
网友评论