美文网首页
iOS库(四)资源文件(图片)

iOS库(四)资源文件(图片)

作者: fanren | 来源:发表于2023-04-10 11:25 被阅读0次

    前言

    Framwork中包含了本地图片的读取和使用时,直接使用[UIImage imageNamed:...]是没有办法找到对应的图片的;
    而在Framwork中 打包图片的方式,也有多种

    一、使用Bundle

    • 创建一个Bundle,把图片资源放入Bundle中;
      image.png
    • 把该BundleFramework同时导入主工程中;
    • 使用该Bundle中的图片资源
    NSString *path = [[NSBundle mainBundle] pathForResource:@"Source" ofType:@"bundle"];
    NSBundle *bundle = [NSBundle bundleWithPath:path];
    return [UIImage imageNamed:@"test" inBundle:bundle compatibleWithTraitCollection:nil];
    

    不论Framework是静态库或者动态库,都可以使用此种方式引入图片资源;

    二、使用xcassets

    我们可以在Framework内部,新建一个xcassets文件,把图片引入xcassets中;


    xcassets文件,在编译成功后,会编译为Assets.car文件
    • 使用xcassets中的图片
    NSBundle *bundle = [NSBundle bundleForClass:[self class]];
    return [UIImage imageNamed:@"test" inBundle:bundle compatibleWithTraitCollection:nil];
    

    使用xcassets方式,Framework必须为动态库,静态库图片资源获取不到;

    三、直接引入

    • 可以把图片直接引入到Framework中;

    • Framework编译成功后

    • 使用该图片

    NSBundle *bundle = [NSBundle bundleForClass:[self class]];
    return [UIImage imageNamed:@"name" inBundle:bundle compatibleWithTraitCollection:nil];
    

    此种方式,Framework必须为动态库,静态库图片资源获取不到;

    相关文章

      网友评论

          本文标题:iOS库(四)资源文件(图片)

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