一直想寫點(diǎn)東西佛析,記錄自己的成長(zhǎng),可是懶啊彪蓬。一直都沒(méi)動(dòng)。還有就是捺萌,我也寫不出高深的東西~\(≧▽≦)/~档冬。
前段時(shí)間網(wǎng)易云音樂(lè)有了新功能(當(dāng)然離現(xiàn)在有好久了,沒(méi)辦法桃纯,懶酷誓,現(xiàn)在才想起來(lái)寫),換皮膚态坦。沒(méi)錯(cuò)本身就喜歡這個(gè)app盐数,挺不錯(cuò)的,(我這是在打廣告嗎伞梯,當(dāng)然是了玫氢,因?yàn)橄矚g這個(gè)app)。
試了試這個(gè)功能谜诫,皮膚很可愛(ài)有木有漾峡,愛(ài)上了這些動(dòng)漫主題的皮膚。tabbar 很可愛(ài)喻旷,那它是怎么做的呢(我怎么知道啊生逸,當(dāng)然自己來(lái)試試寫唄,我又沒(méi)有源碼且预,o(╯□╰)o)槽袄。
首先我們看下兩張圖
第一張是默認(rèn)主題,第二張就是可愛(ài)的主題了锋谐。點(diǎn)擊的時(shí)候松鼠會(huì)動(dòng)遍尺,很可愛(ài)哦!
那么新建一個(gè)工程涮拗,創(chuàng)建tabbar controller狮鸭,像這樣
沒(méi)錯(cuò)合搅,然后就是上圖片,我的項(xiàng)目使用的 storyboard,像這樣歧蕉,設(shè)置好tabbar item 的圖片
然后就成了這樣灾部,啊,完全不是我要的那種啊
好吧惯退,用代碼,創(chuàng)建自己的tabbar controller 繼承與uitabbarcontroller,再設(shè)置storyboard里的tabbarcontroller 為這個(gè)類赌髓。
就這樣,設(shè)置圖片的時(shí)候催跪,使用原始圖片锁蠕,不經(jīng)修改,就能正確顯示了懊蒸,像這樣
可是圖片后面有個(gè)條橫線呢荣倾,怎么辦,我用了個(gè)無(wú)奈的辦法骑丸,不知道其他人怎么做舌仍,求解答
這個(gè)方法當(dāng)然無(wú)奈了,希望有人能說(shuō)說(shuō)其他方法通危。黑線就去掉了铸豁,剩下的就是圖片和label 的距離,還有文字的顏色了菊碟。
在創(chuàng)建一個(gè)新的類繼承UITabBarItem节芥,
然后在storyboard中設(shè)置tabbaritem 為這個(gè)類。然后再看
基本完成了逆害。
作為學(xué)習(xí)的路程头镊,總結(jié)下:
1.系統(tǒng)的tabbarcontroller 直接設(shè)置圖片會(huì)被系統(tǒng)修改成灰色,使用[[UIImage imageNamed:@“”] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]魄幕;使用原始圖片拧晕,這樣就不會(huì)變成灰色的圖片了。
2.使用uitabbaritem.imageInsets 屬性進(jìn)行圖片位置調(diào)整
3.對(duì)uitabbaritem 使用 [self setTitleTextAttributes:[NSDictionary
dictionaryWithObjectsAndKeys: [UIColor colorWithRed:100.0 / 255.0 green:100.0 / 255.0 blue:100.0 / 255.0 alpha:1],
NSForegroundColorAttributeName, nil] forState:UIControlStateSelected];
[self setTitleTextAttributes:[NSDictionary
dictionaryWithObjectsAndKeys: [UIColor brownColor],
NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
進(jìn)行字體的設(shè)置梅垄。
好吧厂捞,算是寫完了,其他人又是怎么實(shí)現(xiàn)這個(gè)的呢队丝?tabbar 那個(gè)背景線怎么去掉呢靡馁,有其他方法嗎,求指導(dǎo)机久。
經(jīng)過(guò)網(wǎng)友們提醒臭墨,去掉黑線的方式
[self.tabBar setShadowImage:[UIImage new]];
同時(shí),導(dǎo)航欄也可以這樣去掉膘盖,感謝胧弛!
demo地址:網(wǎng)易云音樂(lè)tabbar demo?