有時間再把完整demo 傳下~??????????????????
難點1.UITabbar
是系統控件,所以并不能像UIButton等控件那么方便的去設置網絡圖片
難點2.UITabbar
設置圖片如果用本地圖片,我們本地圖片一般都會有@2x
和@3x
圖來滿足retina
屏,避免大屏下模糊問題,但是使用網絡圖片就沒這么簡單,所表現的問題就是網絡圖片比如是 75px X 75x
,下載完后直接賦值后 ``UITabbar上的圖標的寬高居然是
75 X 75```,也就是說 1個點 顯示了 1個像素,自然就馬賽克了
難點1解決思路:
UITabbar
默認加載本地圖片,網絡請求獲取的圖片的url
后使用SDWebImage
下載圖片資源,下載完成后得到 UIImage
對象,再使用UIImage
對象對圖標進行更換
難點2解決思路:
辦法1.在使用網絡圖片時候,有一個規律,如果你的圖片url路徑帶有@3x
,SDWebImage
下載完成后得到的UIImage
對象的size
屬性則是原來圖片像素大小的1/3.0,簡單說就是只要保持網絡圖片的文件名也按照@2x
和@3x
來命名即可,因為SDWebImage
緩存圖片到內存和本地文件名也應該保持了@2x/@3x
的特征(實際只需要@3x
即可,@2x
系統會自行縮放)
辦法2.自己用網絡請求下載圖片,然后存入沙盒環境時更換圖片名稱,自行添加@3x
附:UI設計標準
標準 tab bars
75px × 75px (25pt × 25pt @3x)
50px × 50px (25pt × 25pt @2x)