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")