IOS开发-TabBarController的使用问题

代码示例运行环境为 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也是一样的做法。

去除黑线

如果有任何疑问或者是文中存在技术性错误,请留言,我会尽快回复或者更改。

你可能感兴趣的:(IOS开发-TabBarController的使用问题)