Swift开发Mac·iOS开发

swift framework 中加载图片

2021-10-15  本文已影响0人  孤雁_南飞

前言

环境

Xcode 13.0  
iOS 15.0  

一、直接作为资源文件打包到 framework 中去,编译导出即可

WeChat30a3e2ee280dd1426aca6177314190a8.png

加载方式:

//xxx你的 framework 名  @@你的图片名
imageview.image = UIImage(named: "xxx.framework/@@")

查看资料: ios framework 使用图片资源

二、图片放到 framework 中的 bundle 里面

备注:网上很多都是 framework 和 bundle 分开打包使用的,几乎找不到bundle 包再 frame 里面的使用的,分开使用的暂且不列举了(上面给的资料里面亲测可以使用无误)
1、新建 bundle 文件:
①.新建文件夹,然后后缀名改成.bundle,拖到项目中,就可以把图片放到 bundle 文件中了。亲测可以使用
②.使用 Xcode 创建(这个就比较正规一点了)看下图
首先 command+N 新建,选择 iOS,在 filter 中输入 bundle,找到Resoure 下的 Settings Bundle, 点击 next,输入和 framework 名一样的名称(当然其他也行),然后 create,新建成功,然后就可以把图片放到 bundle 文件中了


1.png
2.png

加载方式:

//xxx你的 framework 名  ???你的 bundle 名  @@你的图片名
imageview.image = UIImage(named: "xxx.framework/???.bundle/@@")

使用方法:将.framework 拖入项目中,在 copy bundle resources 中添加 framework。


WeChat17f39c73fd968556554211275ab47608.png

总结:建议使用第二种
图片加载封装

import UIKit

extension UIImage {
    class func yl_image(named name: String) -> UIImage {
        //图片放到文件中可使用
        let fileName = "YLCJUIKit.framework/\(name)"
        if let image = UIImage(named: fileName) { 
            return image
        }
        //图片放到 framework 的 bundle 中可使用
        let bundleName = "YLCJUIKit.framework/YLCJUIKit.bundle/\(name)"
        if let image = UIImage(named: bundleName) { 
            return image
        } 
        return UIImage()
    }
} 

///使用

imageView.image = UIImage.yl_image(named: "icon_blank_empty")
上一篇下一篇

猜你喜欢

热点阅读