UITabBar大家都熟悉吧,有一种需求是页面地下一排TabBar,然后点击后需要对样式进行处理,比方关注和非关注,又或者状态A下的按钮是5个,状态B是四个,状态A上一个item点击后变成状态B,同时点击item样式发生变化,按钮点击存在各种全线,等等...
采用原始的做法是在delegate里各种if else判断,情况少的还马虎,情况多的肯定宁乱,入过坑的晓得是个什么情况,对此,这边介绍一下我的处理方式,你也可以采用RAC(响应式编程)。
怎么绑定,无非是在创建item时候加个block,然后拦截didselect代理,存在block时候走block,不存在走代理。
对于样式状态,我做了一些简单封装实现选中太和非选中太的icon,字色,标题内容的切换,和空白状态,移除操作,突出icon(点击区域没做,感觉没必要,需要可以通过【hitTest:withEvent:】控制)
自带的选中状态比较鸡肋,功能单一。
效果如图:
使用截图:
ps:demo颜值不高,就这样了。