在很多产品需求中,系统自带的UITabbar往往不能完成我们的需求,需要我们去自定义UITabbar,下午在做个demo的时候,看到UI的图,想到了需要自定义,但是偷了下懒,直接去用系统自带的方法写,发现个小问题,写完后出来的效果是:
有问题.png
不知道看了图大家发现没有,中间的那个UITabBarItem不是居中的,而是在上面,设计需求是让它居中显示;不要问为啥是微博的logo,因为涉及到产品机密,所以上面的都是随便找的图来代替,能说明问题就行了。
看到这个效果,当时就想去重新定制算了,但是已经是第二次遇到这个问题了,之前没解决,不能就这样放过它;想了想应该还是有办法吧,这不看看下面的:
没问题.png
来看看代码是什么样的:
代码.pngmsg.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);
就是这样~ 5 -5是自己看着比例写的,不固定,更变大小有什么区别,去查这个用法。
UIEdgeInsetsMake的用法在这里就不多说,可以自行查阅网上那么资料,我也不是懂很多,只是遇到问题就去查;补充一点就是有兴趣的可以试试把(5, 0, -5, 0)里面的数字各个参数位置都试试不同的大小,然后去一直点击那个tabbaritem,相信你会发现有趣的“东西”,至于这个有趣的“东西”我也暂时不知道怎么解释,我猜是UIEdgeInsetsMake的用法有关,自己去试试呢?
网友评论