不造大家可曾留意在京东或者淘宝上,tabBarItem上的图片不是固定不变的,在一些特殊的节日,比如光棍节,tabBarItem上的图片可能会发生变化,如何做到?小编觉得应该服务器返给的图片,既然如此,那么问题来了,如果服务器的图片过大,超出49怎么办,那么事件的响应机制就会出现问题,当用户点击的时候可能没有反应,然后用户就默默的骂了一句“辣鸡”,fuck!
自从有了KLTabBarViewController,这些问题都不在是问题,KLTabBarViewController采用runtime机制,动态的调整UITabBarButton(私有Api)的高度,即使图片超出49,照样能够响应事件。此处显示部分代码(通过计算UITabBarButton的y值和高度,达到响应事件的目的,当然不仅仅这么简单,剩下的就是大家可去下载源码自己研究咯)。
当然这并没有什么神奇之处,神奇的在后面,请接着看。。。
相信大家应该遇到过,这样的UITabBarController, 点击不同的选项卡的时候,有的是正常的切换控制器,有的是模态出来的控制器,如何做到?相信大家的第一反应是,自定义tabBar,添加一个按钮,在按钮的点击事件里面进行处理,没错,这样确实可以做到,不过,你要精确的计算按钮的位置,如果有文字的话,还要添加一个label,在者,如果,有badgeValue, 是不是还要自己写一个小红点? 又是要详细的计算frame,麻烦!!! KLTabBarViewController一行代码就搞定了!小编给每个控制器添加了一个分类,里面有一个showType的属性,只要给其赋值为ShowTypeModal,那么当点击选项卡的时候,该控制器就会以模态的形式出现,是不是很神奇,哈哈哈。原谅小编在粘贴部分代码。(至于如何实现的,我就不索罗了,大家自行研究吧,不懂得可以留言哦)。
另外,KLTabBarViewController 点击的时候会有闪烁动画,如果 you like music ,那么当然点击的时候也可以设置音效。
只需要设置KLTabBarViewController的animationed为YES,那么动画就会出现在你的眼前,同理设置musical为YES,就会有音乐,当然大家可以自己设置自己喜欢的音效哦(音效时长不能超过30s哦)。
好了,github地址:GitHub - likelin/KLTabBarController 如果你喜欢记得star,当然,如果有什么错误的地方,欢淫各位大神指正。