在很多產(chǎn)品需求中,系統(tǒng)自帶的UITabbar往往不能完成我們的需求,需要我們?nèi)プ远xUITabbar,下午在做個(gè)demo的時(shí)候,看到UI的圖,想到了需要自定義,但是偷了下懶,直接去用系統(tǒng)自帶的方法寫(xiě),發(fā)現(xiàn)個(gè)小問(wèn)題,寫(xiě)完后出來(lái)的效果是:

不知道看了圖大家發(fā)現(xiàn)沒(méi)有,中間的那個(gè)UITabBarItem不是居中的,而是在上面,設(shè)計(jì)需求是讓它居中顯示;不要問(wèn)為啥是微博的logo,因?yàn)樯婕暗疆a(chǎn)品機(jī)密,所以上面的都是隨便找的圖來(lái)代替,能說(shuō)明問(wèn)題就行了。
看到這個(gè)效果,當(dāng)時(shí)就想去重新定制算了,但是已經(jīng)是第二次遇到這個(gè)問(wèn)題了,之前沒(méi)解決,不能就這樣放過(guò)它;想了想應(yīng)該還是有辦法吧,這不看看下面的:

來(lái)看看代碼是什么樣的:

msg.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);
就是這樣~ 5 -5是自己看著比例寫(xiě)的,不固定,更變大小有什么區(qū)別,去查這個(gè)用法。
UIEdgeInsetsMake的用法在這里就不多說(shuō),可以自行查閱網(wǎng)上那么資料,我也不是懂很多,只是遇到問(wèn)題就去查;補(bǔ)充一點(diǎn)就是有興趣的可以試試把(5, 0, -5, 0)里面的數(shù)字各個(gè)參數(shù)位置都試試不同的大小,然后去一直點(diǎn)擊那個(gè)tabbaritem,相信你會(huì)發(fā)現(xiàn)有趣的“東西”,至于這個(gè)有趣的“東西”我也暫時(shí)不知道怎么解釋,我猜是UIEdgeInsetsMake的用法有關(guān),自己去試試呢?