Swift playgrounds中使用UIImage

62

我正在使用 Xcode 6 工作,试图重现在“Xcode 6 有什么新功能”会议中演示的代码。我已将图像添加到 Images.xcassets(称为 Sample),并尝试在 playground 文件中访问此图像,就像演示的那样。

我的代码如下(类似于演示):

var sample = UIImage(named: "Sample")

然而,我无法使它像演示一样正常工作。我是否遗漏了什么?


演示做什么? - 67cherries
图片直接在捆绑包中吗? - zaph
12个回答

1
使用XCode 6.3.1并在完整模拟器(iOS)中运行playground,我需要执行以下步骤:
  1. 在finder中找到你的.playground文件
  2. 右键单击它->显示包内容
  3. 如果不存在,请在包内创建名为Resources的文件夹
  4. 将图像添加到该文件夹中
然后只需使用以下代码实例化: let i = UIImage(named: "filename.png")

1
我不知道为什么使用PDF图像的简单方法无法正常工作。
我不得不添加这个扩展程序来加载PDF图像到我的游乐场:
extension UIImage {

    static func fromPDF(_ url: URL) -> UIImage? {
        var image: UIImage?
        guard
            let doc  = CGPDFDocument(url as CFURL),
            let page = doc .page(at: 1)
        else { return nil }

        let pageRect = page.getBoxRect(.mediaBox)
        let renderer = UIGraphicsImageRenderer(size: pageRect.size)

        image = renderer.image { ctx in
            UIColor.clear.set()
            ctx.fill(pageRect)
            ctx.cgContext.translateBy(x: 0.0, y: pageRect.size.height)
            ctx.cgContext.scaleBy(x: 1.0, y: -1.0)
            ctx.cgContext.drawPDFPage(page)
        }
        return image
    }
}

// Given the file "myImage.pdf" was added to your Playground's Resources folder.
let image = UIImage.fromPDF(#fileLiteral(resourceName: "myImage.pdf"))

这基于以下内容:https://developer.apple.com/forums/thread/90990


这对我很有帮助,谢谢。 - Ramin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接