【问题标题】:Figuring assets.xcassets path programmatically using SWIFT使用 SWIFT 以编程方式计算 assets.xcassets 路径
【发布时间】:2016-03-30 09:23:27
【问题描述】:

尝试使用 swift 代码找出图像的路径。我得到了这个,我认为它适用于目标 C。

[UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.png", [[NSBundle mainBundle] resourcePath], imgName]];

为了获取我存储在 assets.xcassets 中的 .png 图像的路径。但我现在需要在 SWIFT 中这样做,而不是 Objective C。

我需要路径,因为我正在尝试将我放在那里的图像上传到 iCloud 中的CKAsset

【问题讨论】:

    标签: ios objective-c swift path icloud


    【解决方案1】:

    如果您只需要文件的路径(而不是 UIImage 的实例),则可以这样做:

    斯威夫特 2:

    if let resourcePath = NSBundle.mainBundle().resourcePath {
        let imgName = "dog.png"
        let path = resourcePath + "/" + imgName
    }
    

    斯威夫特 3/4:

    if let resourcePath = Bundle.main.resourcePath {
        let imgName = "dog.png"
        let path = resourcePath + "/" + imgName
    }
    

    【讨论】:

    • 谢谢詹姆斯,这种方法只需要在resourcePath + imgName 之间添加一个/,最后我只得到主包的filePath,因此无法访问assets.xcassets 狗。 png 图像。
    • 嘿@user3069232,呃...忘记了正斜杠!我已经更新了代码,请参阅我的编辑。
    • 我猜反对票是因为它没有回答指定的问题。这不会提供对存储在 xcassets 中的图像文件的访问。这些图像被编译成一个名为 Assets.car 的文件,因此不能通过路径名直接访问。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多