美文网首页
[iOS]加载图片的那些事

[iOS]加载图片的那些事

作者: PlutoMa | 来源:发表于2016-02-02 14:57 被阅读246次

    在iOS开发中,我们常用的从程序中加载图片的方法有两种,分别是:

    + (nullable UIImage *)imageNamed:(NSString *)name;
    

    + (nullable UIImage *)imageWithContentsOfFile:(NSString *)path;
    

    先说这二者的区别:

    • 第一种方法会把图片加载到缓存中,这种方法适合于图片较小和图片多次被使用的情况。
    • 第二种方法会加载图片,但是不会将图片保存在缓存中,所以我们在使用较大图片或者使用次数较少的图片时会使用这个方法。

    再说一下这两个方法在适配时的一些注意点:

    • 1.我们在进行机型适配时,对于图片的处理会有两种格式,一种是@2x,另一种是@3x。
    • 2.在使用第一种方法时,我们直接将图片名称写入就可以,无需在后面添加@2x或@3x字眼,因为系统会自动根据机型匹配不同类型的图片。
    • 3.在使用第二种方法时,我们首先要有一个图片路径,我们获取路径的方法一般也是两种:
        [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"1.png"];
    
    [[NSBundle mainBundle] pathForResource:@"1" ofType:@"png"];
    

    在这里要注意,第一种获取路径的方法会正确的根据机型获取到图片,但是第二种方法要的是绝对名称,所以第二种方法得到的图片是nil,必须按下面方法才能得到图片:

    [[NSBundle mainBundle] pathForResource:@"1@2x" ofType:@"png"];
    

    相关文章

      网友评论

          本文标题:[iOS]加载图片的那些事

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