有时间再把完整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)