美文网首页
iOS UITabbar图标使用网络请求以及解决网络图片模糊/马

iOS UITabbar图标使用网络请求以及解决网络图片模糊/马

作者: 帅气的阿斌 | 来源:发表于2020-01-09 19:47 被阅读0次

    有时间再把完整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路径带有@3xSDWebImage下载完成后得到的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)

    相关文章

      网友评论

          本文标题:iOS UITabbar图标使用网络请求以及解决网络图片模糊/马

          本文链接:https://www.haomeiwen.com/subject/vexuactx.html