我目前在我的应用程序中有自定义进度视图。我试图绘制进度视图,然后拍摄快照"因此,我可以在需要的地方传递它。所以一旦我绘制了图层,我想将它们转换为单个UIImage。
这是我当前的代码,其中还包括尝试保存到文档目录以查看图像。
UIGraphicsBeginImageContext(self.frame.size)
self.backgroundRingLayer.renderInContext(UIGraphicsGetCurrentContext())
self.progressRingLayer.renderInContext(UIGraphicsGetCurrentContext())
let image = UIGraphicsGetImageFromCurrentImageContext()
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let documentsDirectory = paths[0] as String
let data:NSData = UIImagePNGRepresentation(image) as NSData
data.writeToFile(documentsDirectory, atomically: true)
UIGraphicsEndImageContext()
我对使用CGContext等相对较新,所以我可能会对此有所了解。任何帮助都会很棒,谢谢!
答案 0 :(得分:0)
只需渲染超级视图的图层。它应该包括所有子视图和子图层。
self.view.renderInContext(UIGraphicsGetCurrentContext())