首页 > 解决方案 > Swift Convert UIImage to Data 第一次只给出 560 字节的数据

问题描述

我正在使用下面的代码将图像转换为数据,以便我可以使用watchSession.updateApplicationContext.

UIGraphicsBeginImageContextWithOptions(localQrView.subviews[0].bounds.size, false, 1.0)
localQrView.subviews[0].layer.render(in: UIGraphicsGetCurrentContext()!)
let viewImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
let imageData = viewImage.pngData()

现在的问题是当我第一次执行这段代码并看到imageData.count它时,它只返回560 字节的数据。这意味着,在手表扩展上,我没有收到正确的图像数据。从第二次开始,它提供14240 字节,然后在手表扩展上正常转换为图像。

谁能看看这里是否做错了什么?

PS: 对于手表扩展,我不能UIImage直接发送Image(),因此我采用了应用程序从图像到数据的转换,以及从数据到手表扩展上的图像的转换。

标签: iosswiftwatchkit

解决方案


推荐阅读