无法使用UIKit在Swift程序包管理器XCAassets中显示图像

332nm8kg  于 2023-03-07  发布在  Swift
关注(0)|答案(1)|浏览(116)

我目前正在Swift Package Manager项目上工作,我需要使用我放在自定义XCAassets(CoreUI.xcassets)中的图像(myImage)。我已经将我的XCAassets包含在SPM资源中,如下所示。

targets: [
    .target(
        name: "MyCoreUI",
        dependencies: [],
        resources: [Resource.process("Resources/CoreUI.xcassets")]),
    .testTarget(
        name: "MyCoreUITests",
        dependencies: ["MyCoreUI"]),
]

我访问我的图像如下:

UIImage(named: "dropdown_down", in: Bundle.module, compatibleWith: nil)

但是我的图片仍然没有任何警告就无法加载。有人能帮我解决这个问题吗?提前谢谢你!

dgiusagp

dgiusagp1#

当我在我的项目上工作时,我遇到了同样的问题。通过使用扩展解决了这个问题。我将所有XCAassets保存在我的CoreUI包中。现在我可以在主项目中导入CoreUI并获得图像。将此代码添加到CoreUI包中,并将图像名称添加为静态属性。

public extension UIImage {

    convenience init?(name: String) {
        self.init(named: name, in: .module, compatibleWith: nil)
    }

    static let home = UIImage(name: "Home")

}

用法:

import CoreUI

yourImageView.image = UIImage.home

相关问题